CSS scroll-margin-top 属性

定义和用法

scroll-margin-top 属性指定吸附位置与容器之间的距离。

吸附位置是指子元素在停止滚动时,其在容器中固定到位的位置。吸附位置通过 scroll-snap-align 属性设置,但也可能受到 CSS 属性 directionwriting-mode 的影响。

注意:此属性仅在吸附位置设置在子元素的顶部时才有效。

要看到 scroll-margin-top 属性的效果,必须在子元素上设置 scroll-margin-topscroll-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

相关页面

参考:CSS direction 属性

参考:CSS scroll-snap-align 属性

参考:CSS scroll-snap-type 属性

参考:CSS writing-mode 属性