CSS scroll-padding-block 屬性

定義和用法

scroll-padding-block 屬性指定在塊方向上,從容器到子元素吸附位置的距離。

這意味著,當你停止滾動時,滾動會迅速調整,并在塊方向上,于吸附位置和容器之間指定的距離處停止。

塊方向是指相對于現有行位置放置下一行的方向,這也是具有 CSS display: block; 的標簽(如 <p> 和 <div> 標簽)在頁面上的布局方式。塊方向取決于書寫語言,例如,蒙古語中新行從左到右排列,因此塊方向也是從左到右,而英語頁面則具有向下的塊方向。塊方向可以通過 CSS 屬性 writing-mode 來定義。

吸附位置是指當你停止滾動時,子元素在容器中吸附到位的位置。

注意:此屬性僅在塊方向上,scroll-snap-align 屬性設置為 'start' 或 'end' 時有效。

scroll-padding-block 屬性是以下屬性的簡寫屬性:

scroll-padding-block 屬性的值可以通過不同方式設置:

如果 scroll-padding-block 屬性有兩個值:

scroll-padding-block: 10px 50px;
  • 開始處的距離為 10px
  • 結束處的距離為 50px

如果 scroll-padding-block 屬性有一個值:

scroll-padding-block: 10px;
  • 開始處和結束處的距離均為 10px

要看到 scroll-padding-block 屬性的效果,必須在子元素上設置 scroll-snap-align 屬性,并在父元素上設置 scroll-padding-blockscroll-snap-type 屬性。

CSS 的 scroll-padding-blockscroll-padding-inline 屬性與 CSS 屬性 CSS scroll-padding-top 屬性scroll-padding-bottomscroll-padding-leftscroll-padding-right 非常相似,但 scroll-padding-blockscroll-padding-inline 屬性依賴于塊方向和行內方向。

實例

例子 1

在塊方向上,將滾動內邊距設置為從容器到吸附位置的 20px:

div {
  scroll-padding-block: 20px;
}

親自試一試

例子 2:圖片庫

scroll-padding-block 屬性可以用于具有吸附行為的圖片畫廊,以將圖片推到固定元素下方:

#container {
  scroll-padding-block: 30px 0;
}

親自試一試

例子 3

當容器元素的 writing-mode 屬性值設置為 vertical-rl 時,塊方向上容器和子元素的起始位置從頂部移動到右側,結束位置從底部移動到左側。這會影響滾動吸附行為以及 scroll-padding-block 屬性的工作方式:

#container {
  scroll-padding-block: 20px 0;
  writing-mode: vertical-rl;
}

親自試一試

CSS 語法

scroll-padding-block: auto|value|initial|inherit;

屬性值

描述
auto 默認值。瀏覽器計算內邊距。
length

以 px、pt、cm 等單位指定 scroll-padding-block。

不允許使用負值。請參閱:CSS 單位

% 指定包含元素寬度百分比的內邊距。
initial 將此屬性設置為其默認值。參閱 initial
inherit 從其父元素繼承此屬性。參閱 inherit

技術細節

默認值: auto
繼承性:
動畫制作: 不支持。請參閱:動畫相關屬性
版本: CSS3
JavaScript 語法: object.style.scrollPaddingBlock="20px"

瀏覽器支持

表格中的數字表示首個完全支持該屬性的瀏覽器版本。

Chrome Edge Firefox Safari Opera
69.0 79.0 68.0 15.0 56.0

相關頁面

參考:CSS scroll-padding-block-end 屬性

參考:CSS scroll-padding-block-start 屬性

參考:CSS scroll-snap-align 屬性

參考:CSS scroll-snap-type 屬性

參考:CSS writing-mode 屬性