scroll-margin-block-start
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
scroll-margin-block-start
プロパティは、スクロールスナップ領域のインライン方向における先頭側のマージンを定義し、このボックスをスナップポートにスナップするために使用されます。スクロールスナップ領域は変換された境界ボックスによって定義され、四角形の囲みボックスを探して (スクロールコンテナーの座標空間における軸に合わせられ)、それから指定された外部距離が追加されます。
試してみましょう
scroll-margin-block-start: 0;
scroll-margin-block-start: 20px;
scroll-margin-block-start: 2em;
<section class="default-example" id="default-example"> <div class="scroller"> <div>1</div> <div id="example-element">2</div> <div>3</div> </div> <div class="info">Scroll »</div> </section>
.default-example .info { inline-size: 100%; padding: 0.5em 0; font-size: 90%; writing-mode: vertical-rl; } .scroller { text-align: left; height: 250px; width: 270px; overflow-y: scroll; display: flex; flex-direction: column; box-sizing: border-box; border: 1px solid black; scroll-snap-type: y mandatory; } .scroller > div { flex: 0 0 250px; background-color: rebeccapurple; color: #fff; font-size: 30px; display: flex; align-items: center; justify-content: center; scroll-snap-align: start; } .scroller > div:nth-child(even) { background-color: #fff; color: rebeccapurple; }
構文
css
/* <length> 値 */ scroll-margin-block-start: 10px; scroll-margin-block-start: 1em; /* グローバル値 */ scroll-margin-block-start: inherit; scroll-margin-block-start: initial; scroll-margin-block-start: revert; scroll-margin-block-start: unset;
値
<length>
スクロールコンテナーのブロック方向における先頭側の辺からみた外部の距離です。
公式定義
初期値 | 0 |
---|---|
適用対象 | すべての要素 |
継承 | なし |
計算値 | 指定通り |
アニメーションの種類 | 計算値の型による |
形式文法
scroll-margin-block-start =
<length>
仕様書
Specification |
---|
CSS Scroll Snap Module Level 1 # margin-longhands-logical |