INTERACTION / 095

Scroll snap

区切りに吸着するスクロール
横へスクロールすると、カードの区切りで止まりやすくなります。

実際のHTML・CSSで描かれた見本です。

ラボで詳しく試す ↗

ひとつ試すなら

どこが変わるかを観察して、似た表現と見比べてみよう。

こんなときに

カード一覧や、小さなギャラリー。

仕組みと使い方

操作の対象が伝わるよう、次のカードを少し見せます。

スワイプ横スクロールsnap吸着
実装コードを見る
<style>
.sample{width:100%;height:100%;min-height:190px;display:grid;place-items:center;position:relative;overflow:hidden;box-sizing:border-box;font-family:Arial,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;color:#20211d;background:#f1f0e9;padding:22px}.sample *{box-sizing:border-box}.sample button,.sample input,.sample summary{font:inherit}.sample button,.sample summary,.sample label{touch-action:manipulation}.sample :focus-visible{outline:3px solid #6050bf;outline-offset:5px}.sample small{font-size:10px;line-height:1.5}.sample .editable{margin:0}.sample svg{max-width:100%;height:auto}
.sample .rail{display:flex;gap:12px;width:235px;max-width:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:8px 0 16px}.sample i{flex:0 0 150px;height:110px;scroll-snap-align:start;border-radius:12px;background:var(--accent,#c9f537);font:900 38px Arial;display:grid;place-items:center}.sample i:nth-child(2n){background:#b7a0e2}
</style>
<div class="sample">
<div class="rail" tabindex="0" aria-label="横にスクロールするサンプル"><i>01</i><i>02</i><i>03</i><i>04</i></div>
</div>