CSSツール

無料 CSSスクロールスナップジェネレーター

カルーセル、ギャラリー、水平スクロールセクション向けのCSSスクロールスナップルールを生成します。

ツールを読み込み中...

CSSスクロールスナップジェネレーターとは

CSSスクロールスナップは、コンテナのスクロール位置を制御して、定義した配置ポイントにスナップするようにします。これにより、カルーセル、水平ギャラリー、セクション単位のスクロールがJavaScriptなしで実現します。ブラウザがスナップ物理を処理するため、トラックパッド、マウスホイール、タッチデバイスでスムーズに動作します。

クイックアンサー

カルーセル、ギャラリー、セクションベースのレイアウト用のCSSスクロールスナップルールを生成します。方向、スナップタイプ、配置を選択して、スクロール位置が各子要素にどのようにスナップするかを制御します。

Last updated: 2026-06-11

制限事項

  • mandatoryスナップタイプは、スクロール位置がすべての子にスナップするため、長いコンテンツの高速スクロールを妨げ、迅速なブラウジングが堅苦しくなる可能性があります。
  • スクロールスナップはコンテナにoverflowがscrollまたはautoに設定されている必要があります。overflow: hiddenのコンテナはスクロールスナップ動作を有効化しません。
  • スクロールスナップはprefers-reduced-motionのユーザー設定と競合する可能性があります。動きの低減をリクエストしたユーザーは、強制スナップポイントに混乱する可能性があります。スナップ動作を@media (prefers-reduced-motion: no-preference)ブロックでラップして、アクセシビリティ設定を尊重してください。

Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub

使い方

  1. スクロール方向を選択します。カルーセルやギャラリーには水平、セクション単位のページには垂直を選択します。
  2. スナップタイプを選択します。mandatoryは常に最も近いポイントにスナップし、proximityはスクロールがスナップポイントの近くにある場合のみスナップします。
  3. 配置を選択します。startは子をコンテナの先頭に、centerは中央に、endは末尾に配置します。
  4. 生成されたCSSとHTMLスケルトンをコピーし、プレースホルダーの子コンテンツを独自のものに置き換えます。

主な用途

  • スクロールまたはスワイプで各画像にスナップする水平画像ギャラリーを構築する。
  • 各セクションがスクロール時にビューにスナップする全画面ランディングサイトを作成する。
  • JavaScriptカルーセルを軽量なCSSオンリースクロールスナップコンポーネントに置き換える。

用途

使用例

写真ポートフォリオギャラリー

写真家がsnap-type mandatoryとsnap-align centerで水平スクロールコンテナを設定します。各画像がビューポートの大部分を占め、スクロールは各写真の中央で停止します。

ランディングページセクション

プロダクトランディングページがsnap-type proximityで垂直スクロールスナップを使用します。各全画面セクションが優しく所定の位置にスナップしますが、ユーザーはスナップに抵抗することなくセクションを自由にスクロールできます。

よくあるミス

  • 非常に長いコンテンツがあるコンテナにmandatoryスナップタイプを使用し、すべての子にスナップする必要がありブラウジングが堅苦しくなる。
  • コンテナにoverflowをscrollまたはautoに設定するのを忘れ、スクロールスナップが有効にならない。
  • タッチデバイスでスクロールスナップをテストせず、マウスやトラックパッドとはスナップ動作が異なる場合がある。

検証

  1. タッチデバイスでスクロールスナップコンテナをテストし、さまざまなスクロール速度でスナップがスムーズかつ予測可能であることを確認する。
  2. すべての子コンテンツがスクロールでアクセス可能であり、スナップ配置がコンテナ端で重要なコンテンツを切り取っていないことを確認する。

FAQ

CSSスクロールスナップジェネレーターのFAQ

スクロールスナップはモバイルデバイスで動作しますか?

はい。スクロールスナップはモバイルSafariやChromeを含むすべてのモダンブラウザで動作します。タッチジェスチャー、トラックパッドスワイプ、マウスホイールスクロールのすべてがスナップ動作をトリガーします。

mandatoryとproximityの違いは何ですか?

mandatoryはユーザーが少しスクロールしただけでも常に最も近いスナップポイントにスナップします。proximityはスクロール位置がスナップポイントの近くにある場合のみスナップし、ユーザーに強制スナップなしでより自由にブラウズする自由を与えます。

scroll-snap-stopを追加するにはどうすればよいですか?

子要素にscroll-snap-stop: alwaysを追加して、すべてのスナップポイントでスクロールを強制的に停止させます。これにより、ユーザーが1つのジェスチャーで複数のアイテムをスクロール通過するのを防ぎます。デフォルト値はnormalで、高速スクロール時にブラウザがスナップポイントをスキップすることを許可します。

関連ツール

その他のcssツール

こちらもお試しください

こちらもお試しください