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