CSS scroll-snap-align 属性

定義と使用法

scroll-snap-align 属性は、スクロールを停止したときに要素が焦点の位置にアテンションする場所を指定します。

スクロールアテンションを実現するには、子要素上で設定する必要があります scroll-snap-align 属性、および親要素上で設定 scroll-snap-type 属性。

例1

ユーザーがスクロールを停止したとき、最も近い要素を中央位置にアドヒシブします:

div {
  scroll-snap-align: center;
}

実際に試してみてください

例2:画像ライブラリ

scroll-snap-align この属性は、画像ライブラリのスクロールブラウジングに非常に適しています。ここでは、スクロール方向は水平で、アドヒシブアライメントは中央です。ユーザーがスクロールバーを離したとき、最も近い画像がスクロール可能エリアの中央にアドヒシブします。画像をクリックして、左右の矢印キーを使用してそれらをブラウジングしようとします:

#container > img {
  scroll-snap-align: none center;
}
北京 ダンサー 武漢 チューリップ 杭州

実際に試してみてください

ジャングル山の小橋、カメラを持つ男、クインテッタ

例3:ブロック方向上での垂直アライメントアドヒシブ位置

垂直にスクロールする場合、scroll-snap-align 属性は、ブロック方向に要素の最初の場所としても設定できます:

#container > div {
  scroll-snap-align: start none;
}

実際に試してみてください

CSS文法

scroll-snap-align: none|start|end|center|block inline|initial|inherit;

属性値

説明
none スクロールアドヒシブ効果がありません。デフォルト値。
start x軸とy軸上で、要素の開始位置でスクロールアドヒシブを行います。
end x軸とy軸上で、要素の終了位置でスクロールアドヒシブを行います。
center x軸とy軸上で、要素の中心位置でスクロールアドヒシブを行います。
block inline 二値構文。最初の値はブロック方向のアドヒシブ方式を指定し、第二の値はインライン方向のアドヒシブ方式を指定します。
initial この属性をデフォルト値に設定します。参照してください。 initial
inherit この属性は、親要素から継承されます。参照してください。 inherit

技術的詳細

デフォルト値: none
継承性: いいえ
アニメーション作成: サポートされていません。参照してください:アニメーション関連属性
バージョン: CSS3
JavaScript文法: object.style.scrollSnapAlign="start"

ブラウザのサポート

テーブルの数字は、この属性を完全にサポートする最初のブラウザのバージョンを示しています。

Chrome Edge Firefox Safari Opera
69.0 79.0 68.0 11.0 56.0

関連ページ

参照:CSS scroll-snap-type 属性