CSS scroll-padding-block 属性
定义和用法
scroll-padding-block 属性指定在块方向上,从容器到子元素吸附位置的距离。
这意味着,当你停止滚动时,滚动会迅速调整,并在块方向上,于吸附位置和容器之间指定的距离处停止。
块方向是指相对于现有行位置放置下一行的方向,这也是具有 CSS display: block; 的标签(如 <p> 和 <div> 标签)在页面上的布局方式。块方向取决于书写语言,例如,蒙古语中新行从左到右排列,因此块方向也是从左到右,而英语页面则具有向下的块方向。块方向可以通过 CSS 属性 writing-mode 来定义。
吸附位置是指当你停止滚动时,子元素在容器中吸附到位的位置。
注意:此属性仅在块方向上,scroll-snap-align 属性设置为 'start' 或 'end' 时有效。
scroll-padding-block 属性是以下属性的简写属性:
scroll-padding-block 属性的值可以通过不同方式设置:
如果 scroll-padding-block 属性有两个值:
scroll-padding-block: 10px 50px;
- 开始处的距离为 10px
- 结束处的距离为 50px
如果 scroll-padding-block 属性有一个值:
scroll-padding-block: 10px;
- 开始处和结束处的距离均为 10px
要看到 scroll-padding-block 属性的效果,必须在子元素上设置 scroll-snap-align 属性,并在父元素上设置 scroll-padding-block 和 scroll-snap-type 属性。
CSS 的 scroll-padding-block 和 scroll-padding-inline 属性与 CSS 属性 CSS scroll-padding-top 属性、scroll-padding-bottom、scroll-padding-left 和 scroll-padding-right 非常相似,但 scroll-padding-block 和 scroll-padding-inline 属性依赖于块方向和行内方向。
实例
例子 1
在块方向上,将滚动内边距设置为从容器到吸附位置的 20px:
div {
scroll-padding-block: 20px;
}
例子 2:图片库
scroll-padding-block 属性可以用于具有吸附行为的图片画廊,以将图片推到固定元素下方:
#container {
scroll-padding-block: 30px 0;
}
例子 3
当容器元素的 writing-mode 属性值设置为 vertical-rl 时,块方向上容器和子元素的起始位置从顶部移动到右侧,结束位置从底部移动到左侧。这会影响滚动吸附行为以及 scroll-padding-block 属性的工作方式:
#container {
scroll-padding-block: 20px 0;
writing-mode: vertical-rl;
}
CSS 语法
scroll-padding-block: auto|value|initial|inherit;
属性值
| 值 | 描述 |
|---|---|
| auto | 默认值。浏览器计算内边距。 |
| length |
以 px、pt、cm 等单位指定 scroll-padding-block。 不允许使用负值。请参阅:CSS 单位。 |
| % | 指定包含元素宽度百分比的内边距。 |
| initial | 将此属性设置为其默认值。参阅 initial。 |
| inherit | 从其父元素继承此属性。参阅 inherit。 |
技术细节
| 默认值: | auto |
|---|---|
| 继承性: | 否 |
| 动画制作: | 不支持。请参阅:动画相关属性。 |
| 版本: | CSS3 |
| JavaScript 语法: | object.style.scrollPaddingBlock="20px" |
浏览器支持
表格中的数字表示首个完全支持该属性的浏览器版本。
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| 69.0 | 79.0 | 68.0 | 15.0 | 56.0 |
相关页面
参考:CSS scroll-padding-block-end 属性