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 屬性