CSS scroll-padding-inline 属性

定義和用法

scroll-padding-inline 屬性指定在行內方向上,從容器到子元素吸附位置的距离。

這意味著當你停止滾動時,滾動將快速調整並停止在吸附位置與容器之間指定的距離處。

行內方向是指相對於一行中現有字符的位置,下一個字符被放置的方向。這也是具有 CSS display: inline; 的標籤(如 <a> 和 <strong> 標籤)在文本中的佈局方式。行內方向取決於書寫語言,例如阿拉伯語的新字符從右到左排列,使得行內方向為從右到左,而英語頁面則具有從左到右的行內方向。行內方向可以通過 CSS 屬性 directionwriting-mode 來定義。

吸附位置是指當你停止滾動時,子元素在容器中吸附到位的位置。

注意:此屬性僅在行內方向上,scroll-snap-align 屬性設置為 'start' 或 'end' 時才有效。

scroll-padding-inline 屬性是以下屬性的簡寫屬性:

scroll-padding-inline 屬性的值可以通過不同方式設置:

如果 scroll-padding-inline 屬性有兩個值:

scroll-padding-inline: 10px 50px;
  • 開始處的距離為 10px
  • 結束處的距離為 50px

如果 scroll-padding-inline 屬性有一個值:

scroll-padding-inline: 10px;
  • 開始處和結束處的距離均為 10px

要看到 scroll-padding-inline 屬性的效果,必須在子元素上設置 scroll-snap-align 屬性,並在父元素上設置 scroll-padding-inlinescroll-snap-type 屬性。

CSS 的 scroll-padding-blockscroll-padding-inline 属性與 CSS 屬性 CSS scroll-padding-top 属性scroll-padding-bottomscroll-padding-leftscroll-padding-right 非常相似,但 scroll-padding-blockscroll-padding-inline 属性依赖于块方向和行内方向。

实例

例子 1

设置行内方向上的滚动内边距,从容器到吸附位置为 20px:

div {
  scroll-padding-inline: 20px;
}

亲自试一试

例子 2:图片库

在具有吸附行为的图片画廊中,可以使用 scroll-padding-inline 属性将图片从固定元素后面推出:

#container {
  scroll-padding-inline: 30px 0;
}

亲自试一试

例子 3

当容器元素的 writing-mode 属性值设置为 'vertical-rl' 时,行内方向上的容器和子元素的起始位置从左侧移动到顶部,结束位置从右侧移动到底部。这会影响滚动吸附行为以及 scroll-padding-inline 属性的工作方式:

#container {
  scroll-padding-inline: 20px 0;
  writing-mode: vertical-rl;
}

亲自试一试

例子 4

当容器元素的 direction 属性值设置为 'rtl' 时,行内方向上的容器和子元素的起始位置从右侧移动到左侧。这会影响滚动吸附行为以及 scroll-padding-inline 属性的工作方式:

#container {
  scroll-padding-inline: 20px 0;
  direction: rtl;
}

亲自试一试

CSS 语法

scroll-padding-inline: auto|value|initial|inherit;

属性值

描述
auto 默认值。浏览器计算内边距。
length

以 px、pt、cm 等单位指定 scroll-padding-inline。

不允许使用负值。请参阅:Unit ng CSS

% 以包含元素宽度的百分比指定内边距。
initial 将此属性设置为其默认值。参阅 initial
inherit 从其父元素继承此属性。参阅 inherit

技术细节

默认值: auto
继承性:
动画制作: 不支持。请参阅:动画相关属性
版本: CSS3
JavaScript 语法: object.style.scrollPaddingInline="20px"

浏览器支持

表格中的数字表示首个完全支持该属性的浏览器版本。

Chrome Edge Firefox Safari Opera
69.0 79.0 68.0 15.0 56.0

相关页面

參考:CSS direction 属性

參考:CSS scroll-snap-align 属性

參考:CSS scroll-snap-type 属性

參考:CSS writing-mode 属性