CSS scroll-margin-top 属性
定义和用法
scroll-margin-top
属性指定吸附位置与容器之间的距离。
吸附位置是指子元素在停止滚动时,其在容器中固定到位的位置。吸附位置通过 scroll-snap-align
属性设置,但也可能受到 CSS 属性 direction
和 writing-mode
的影响。
注意:此属性仅在吸附位置设置在子元素的顶部时才有效。
要看到 scroll-margin-top
属性的效果,必须在子元素上设置 scroll-margin-top
和 scroll-snap-align
属性,并在父元素上设置 scroll-snap-type
属性。
实例
例子 1
设置吸附位置与容器之间的顶部滚动外边距为 20px:
div { scroll-margin-top: 20px; }
例子 2:图片库
scroll-margin-top
属性可以在具有吸附行为的图片画廊中使用。在这里,scroll-margin-top
让用户知道顶部还有一张图片。滚动过第一张图片以查看效果:
#container > img { scroll-margin-top: 30px; }
例子 3:吸附位置
为了使 scroll-margin-top
属性生效,吸附位置必须设置在子元素的顶部。在这个例子中,writing-mode
属性将吸附位置从子元素的顶部改变到右侧。使用这样的代码,scroll-margin-top
属性将不再起作用:
#container { writing-mode: vertical-rl; } #container > div { scroll-margin-top: 30px; scroll-snap-align: start none; }
CSS 语法
scroll-margin-top: 0|value|initial|inherit;
属性值
值 | 描述 |
---|---|
0 | 顶部滚动外边距为 0。这是默认值。 |
length |
以 px、pt、cm 等单位指定顶部滚动外边距的值。允许使用负值。 请参阅:CSS 单位。 |
initial | 将此属性设置为其默认值。参阅 initial。 |
inherit | 从其父元素继承此属性。参阅 inherit。 |
技术细节
默认值: | 0 |
---|---|
继承性: | 否 |
动画制作: | 不支持。请参阅:动画相关属性。 |
版本: | CSS3 |
JavaScript 语法: | object.style.scrollMarginTop="20px" |
浏览器支持
表格中的数字表示首个完全支持该属性的浏览器版本。
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
69.0 | 79.0 | 68.0 | 14.1 | 56.0 |