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-startscroll-snap-align 属性,并在父元素上设置 scroll-snap-type 属性。

CSS 的 scroll-margin-inlinescroll-margin-block 属性与 CSS 属性 CSS scroll-margin-top คุณสมบัติscroll-margin-bottomscroll-margin-leftscroll-margin-right 非常相似,但 scroll-margin-blockscroll-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

หน้าที่เกี่ยวข้อง

อ้างอิง:CSS scroll-snap-align คุณสมบัติ

อ้างอิง:CSS scroll-snap-type คุณสมบัติ

อ้างอิง:CSS writing-mode ทางเลือก