devtools-hub

CSS Scroll Snap Generator

scroll-snap-type / align / padding をGUIで設定・リアルタイムプレビュー

CSSデザイン開発者向け

横・縦スクロールのスナップ動作をGUIで設定し、実際にスクロールできるプレビューパネルで即座に確認できるツール。scroll-snap-type(mandatory/proximity)・scroll-snap-align(start/center/end)・scroll-padding・scroll-margin をスライダーで調整し、コンテナ用・アイテム用のCSSを生成・コピーできます。

広告

CSS Scroll Snap Generator

スクロール方向

scroll-snap-type

mandatory = 必ずスナップ / proximity = 近い場合のみ

scroll-snap-align

現在: ← 左端

scroll-padding0px
scroll-margin0px

ライブプレビュー

← スクロールして体験
start
01Tealscroll-snap-align
02Bluescroll-snap-type
03Violetscroll-padding
04Orangescroll-margin
05Emeraldoverflow: auto
06Pinkscroll-behavior

CSS 出力

/* コンテナ */
.scroll-container {
  overflow: auto hidden;
  scroll-snap-type: x mandatory;
}

/* アイテム */
.scroll-item {
  scroll-snap-align: start;
}

Features

  • 横(x)/ 縦(y)/ 両方(both)のスクロール方向を切り替え
  • mandatory / proximity のスナップタイプを選択
  • snap-align(start / center / end)でスナップ位置を設定
  • scroll-padding(0〜80px)・scroll-margin(0〜40px)をスライダーで調整
  • 実際にスクロールできるインタラクティブプレビューでスナップ動作を体験
  • コンテナ用・アイテム用のCSSを生成・コピー

Desktop App

デスクトップ版を入手する

Windows 向けアプリ版はすべての機能をフルで使えます。BOOTH で配布中。

BOOTH で見る
広告

CSS Scroll Snapの使い方 — スライダーとページングUIをCSSだけで実装

CSS Scroll Snapはスクロール位置を特定の要素にスナップさせる機能で、JavaScriptなしでページング・スライダー・カルーセルUIを実装できます。モバイルフレンドリーなスワイプUIの実装にも使われます。

scroll-snap-typeとscroll-snap-alignの基本

scroll-snap-typeをスクロールコンテナ(overflow: scroll)に設定します。x mandatory(水平方向の強制スナップ)・y mandatory(垂直方向)・both mandatoryが使えます。mandatoryは必ずスナップ位置に止まり、proximityは近い場合のみスナップします。各アイテムにscroll-snap-align: start / center / endでスナップ位置を指定します。

水平スライダーの実装

.slider { display: flex; overflow-x: scroll; scroll-snap-type: x mandatory; scroll-behavior: smooth; } .slide { flex: 0 0 100%; scroll-snap-align: start; } でフルページスライダーが実装できます。scroll-behavior: smoothをつけるとスクロールアニメーションがなめらかになります。スクロールバーをhiddenにするとスワイプUIらしくなります。

scroll-padding・scroll-marginの活用

scroll-padding-topはfixedヘッダーがある場合にスナップ位置をずらす用途に使います。例えば固定ヘッダーが60pxの場合、scroll-padding-top: 60pxをhtml要素に設定することで、アンカーリンクのスクロール先がヘッダーに隠れなくなります。scroll-marginはスナップアイテム側に余白を設定できます。

ScrollSnapとJavaScriptの組み合わせ

CSS Scroll Snapは純粋なCSSで動作しますが、現在のスナップ位置の取得には scrollLeft/scrollTopやIntersection Observerを使います。前/次ボタンはscrollToやscrollByで特定のアイテムにスクロールします。CSS Scroll Snap Generatorでコンテナとアイテムの設定を組み合わせてCSSコードを生成し、実際の動作をプレビューできます。

Related Tools

base64-studio

Base64 エンコード & デコード

開発者向けテキストエンコード

使ってみる →

BOOTH

JSON Studio

JSON フォーマッター & バリデーター

JSON開発者向けフォーマッター

使ってみる →

BOOTH

color-deck

カラーコード変換 & パレット保存

カラーデザイン開発者向け

使ってみる →

BOOTH

このツールを共有する