ユーザー操作

scroll-padding

scroll-padding は、スクロールする箱で、吸い付いた要素やリンクで飛んだ先を、箱の端からどれだけ内側に止めるかを指定します。固定したヘッダーの下に隠れないようにするときに使います。

構文

[ auto | <length-percentage [0,∞]> ]{1,4}

プレビュー

123
プリセット
右下の角をドラッグするとサイズを変えられます

コード

.box {
  overflow: auto;
  scroll-snap-type: y mandatory;
  scroll-padding: 24px;
}

.box > :nth-child(2) {
  scroll-snap-align: start;
}

コントロール

scroll-padding
4 辺を同じ値にする
scroll-padding24px
123

解説

値の意味

  • auto:初期値です。ふつうは 0 と同じです。
  • 24px や 10%:箱の端からの距離です。% は箱の幅や高さに対する割合です。

padding と同じく、1〜4 つの値で上・右・下・左を書きます。scroll-padding-top のように辺ごとにも書けます。

プレビューは scroll-snap-type: y mandatory で縦にスクロールする箱で、2 枚目の札の上端を箱の上端に合わせています(scroll-snap-align: start)。scroll-padding を書くと、2 枚目はその分だけ下に止まります。

よく使う場面

position: fixed や sticky のヘッダーがあるページで、ページ内リンクで飛んだ見出しがヘッダーの下に隠れないように、html に scroll-padding-top を書きます。

気をつけること

  • スクロールする箱に書きます。中の要素ごとにずらしたいときは、要素に scroll-margin を書きます。
  • 見た目の余白(padding)は変わりません。変わるのは、吸い付くときやリンクで飛んだときに止まる位置だけです。
  • 負の値は書けません。

コメント