CSS scroll-margin 属性
下面还有更多“亲自尝试”示例。
定义和用法
scroll-margin
属性指定快照位置和容器之间的距离。
这意味着,当您停止滚动时,滚动将快速调整并在快照位置和容器之间指定的距离处停止。
快照位置是子元素在容器中快照到位的位置,您停止滚动时会到达该位置。
注意:在上面的示例中,滚动边距设置在所有边上,但只有顶部边的滚动边距会改变滚动行为,因为scroll-snap-align
属性设置为“start”。
scroll-margin
属性是以下属性的简写属性:
scroll-margin
属性的值可以通过不同的方式设置
如果 scroll-margin 属性有四个值
- scroll-margin: 15px 30px 60px 90px;
- 顶部距离为 15px
- 右侧距离为 30px
- 底部距离为 60px
- 左侧距离为 90px
如果 scroll-margin 属性有三个值
- scroll-margin: 15px 30px 60px;
- 顶部距离为 15px
- 左侧和右侧距离为 30px
- 底部距离为 60px
如果 scroll-margin 属性有两个值
- scroll-margin: 15px 30px;
- 顶部和底部距离为 15px
- 左侧和右侧距离为 30px
如果 scroll-margin 属性有一个值
- scroll-margin: 10px;
- 所有四个距离均为 10px
要查看 scroll-margin
属性的效果,必须在子元素上设置 scroll-margin
和 scroll-snap-align
属性,并且必须在父元素上设置 scroll-snap-type
属性。
默认值 | 0 |
---|---|
继承 | 否 |
可动画 | 否。 了解有关可动画的更多信息 |
版本 | CSS3 |
JavaScript 语法 | object.style.scrollMargin="20px" 尝试一下 |
浏览器支持
表中的数字指定完全支持该属性的第一个浏览器版本。
属性 | |||||
---|---|---|---|---|---|
scroll-margin | 69.0 | 79.0 | 90.0 | 14.1 | 56.0 |
CSS 语法
scroll-margin: 0|value|initial|inherit;
属性值
值 | 描述 |
---|---|
0 | Scroll-margin 为零。这是默认值 |
length | 以 px、pt、cm 等指定滚动边距。允许负值。 了解有关长度单位的更多信息 |
initial | 将此属性设置为其默认值。 了解有关initial的更多信息 |
inherit | 从其父元素继承此属性。 了解有关inherit的更多信息 |
更多示例
图片库
scroll-margin
属性可用于具有快照行为的图片库。在这里,滚动边距可以让用户看到左侧有一张图片。滚动到第一张图片以外的位置,查看效果
#container > img {
scroll-margin: 0 0 0 30px;
}
在底部和右侧设置滚动边距
scroll-margin
属性可以在元素的底部和右侧设置。水平和垂直滚动到下一个元素,查看效果
#container > div {
scroll-margin: 0 10px 30px 0;
}
相关页面
CSS scroll-margin-bottom 属性: CSS Scroll-margin-bottom 属性
CSS scroll-margin-left 属性: CSS Scroll-margin-left 属性
CSS scroll-margin-right 属性: CSS Scroll-margin-right 属性
CSS scroll-margin-top 属性: CSS Scroll-margin-top 属性
CSS scroll-snap-align 属性: CSS Scroll-snap-align 属性
CSS scroll-snap-type 属性: CSS Scroll-snap-type 属性