CSS scroll-padding 属性
定义和用法
scroll-padding
属性指定从容器到子元素吸附位置的距离。
这意味着,当你停止滚动时,滚动会快速调整并停止在距离容器到焦点子元素吸附位置的指定距离处。
吸附位置是指子元素在停止滚动时,其在容器中固定到位的位置。
scroll-padding
属性是以下属性的简写属性:
scroll-padding
属性的值可以通过不同方式设置:
如果 scroll-padding 属性有四个值:
scroll-padding: 15px 30px 60px 90px;
- 顶部距离为 15px
- 右侧距离为 30px
- 底部距离为 60px
- 左侧距离为 90px
如果 scroll-padding 属性有三个值:
scroll-padding: 15px 30px 60px;
- 顶部距离为 15px
- 左侧和右侧距离为 30px
- 底部距离为 60px
如果 scroll-padding 属性有两个值:
scroll-padding: 15px 30px;
- 顶部和底部距离为 15px
- 左侧和右侧距离为 30px
如果 scroll-padding 属性有一个值:
scroll-padding: 10px;
- 所有四个方向的距离均为 10px
要看到 scroll-padding
属性的效果,必须在子元素上设置 scroll-snap-align
属性,并在父元素上设置 scroll-padding
和 scroll-snap-type
属性。
注意:在下面的例子中,为所有边设置了滚动内边距,但由于 scroll-snap-align
设置为 "start",因此只有顶部边的滚动内边距改变了滚动行为。
实例
例子 1
设置从容器到吸附位置的滚动内边距为 20px:
div { scroll-padding: 20px; }
例子 2:图片库
scroll-padding
属性可以在具有吸附行为的图片画廊中使用,以将图片推到固定元素下方:
#container { scroll-padding: 30px 0 0 0; }
固定的顶部元素





例子 3:设置底部和右侧的滚动内边距
scroll-padding
属性可以在容器的底部和右侧同时设置。水平和垂直滚动到下一个元素以查看效果:
#container { scroll-padding: 0 10px 30px 0; }
CSS 语法
scroll-padding: auto|value|initial|inherit;
属性值
值 | 描述 |
---|---|
auto | 默认值。浏览器计算内边距。 |
length |
以 px、pt、cm 等单位指定滚动内边距。 不允许使用负值。请参阅:CSS 单位。 |
% | 指定相对于包含元素宽度的百分比内边距。 |
initial | 将此属性设置为其默认值。参阅 initial。 |
inherit | 从其父元素继承此属性。参阅 inherit。 |
技术细节
默认值: | auto |
---|---|
继承性: | 否 |
动画制作: | 不支持。请参阅:动画相关属性。 |
版本: | CSS3 |
JavaScript 语法: | object.style.scrollPadding="20px" |
浏览器支持
表格中的数字表示首个完全支持该属性的浏览器版本。
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
69.0 | 79.0 | 68.0 | 14.1 | 56.0 |
相关页面
参考:CSS scroll-padding-bottom 属性