CSS scroll-padding-block-start 属性

定义和用法

scroll-padding-block-start 属性指定在块方向上,从容器起始位置到子元素吸附位置的距离。

这意味着,当你停止滚动时,滚动将快速调整,并在块方向上,于吸附位置和容器之间指定的距离处停止。

块方向是指相对于现有行的位置,下一行被放置的方向。这也是具有 CSS display: block; 的标签(如 <p> 和 <div> 标签)在页面上的布局方式。块方向取决于书写语言,例如,蒙古语的新行从左到右排列,因此块方向是从左到右,而英语页面的块方向是向下。块方向可以通过 CSS 属性 writing-mode 来定义。

吸附位置是指当你停止滚动时,子元素在容器中吸附到位的位置。

注意:此属性仅在块方向的 scroll-snap-align 属性设置为 'start' 时才起作用。

要看到 scroll-padding-block-start 属性的效果,必须在子元素上设置 scroll-snap-align 属性,并在父元素上设置 scroll-padding-block-startscroll-snap-type 属性。

实例

例子 1

设置从容器起始位置到吸附位置的块方向滚动内边距为 20px:

div {
  scroll-padding-block-start: 20px;
}

亲自试一试

例子 2:图片库

在具有吸附行为的图片画廊中,可以使用 scroll-padding-block-start 属性将图片推至固定元素下方:

#container {
  scroll-padding-block-start: 30px;
}

亲自试一试

例子 3

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

#container {
  scroll-padding-block-start: 20px;
  writing-mode: vertical-rl;
}

亲自试一试

CSS 语法

scroll-padding-block-start: auto|value|initial|inherit;

属性值

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

指定 scroll-padding-block-start 的值,单位为 px、pt、cm 等。

不允许使用负值。请参阅:CSS 单位

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

技术细节

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

浏览器支持

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

Chrome Edge Firefox Safari Opera
69.0 79.0 68.0 15.0 56.0

相关页面

参考:CSS scroll-snap-align 属性

参考:CSS scroll-snap-type 属性

参考:CSS writing-mode 属性