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