CSSのみでカルーセルスライダーを実装する

  • Update2025.03.23
  • Publication2025.03.20
  • コーディング

画像を横にスライドさせて一箇所で複数の画像を見せることができるカルーセルスライダー。複雑な機能を実装するにはjQueryが必要ですがシンプルなものであればCSSだけで実装することができます。

カルーセルの実際の動きを確認

デモを用意したのでご確認ください。

See the Pen CSS Carousel Slider by MxGRAIN (@mxgrain) on CodePen.

コンテンツが横に並んでいて横スクロールが可能です。また、スナップ点を設けてスクロール後コンテンツが中央位置に止まるよう設定してあります。

コードを確認

.wrap {
	scroll-snap-type: x mandatory;
	white-space: nowrap;
	overflow-x: auto;
}

.item {
	scroll-snap-align: center;
	display: inline-block;
	width: 40%;
	white-space: normal;
}

scroll-snap-type: x mandatoryでスナップ方向を指定します。この場合スクロールコンテナの軸は水平(x軸)で、スナップ位置に合わせられます。mandatoryでスクロール中でなければスナップ点にはまる(合わせられる)ようになります。

scroll-snap-align: centerでスナップ位置を中央に指定しています。他にはstartendもあります。

スクロール時の複雑なアニメーションが必要な場合はJavaScriptを利用した方が良いと思いますが、簡易的なもので良ければCSSでの実装で充分であると思います。スマホ表示時の記事下の関連記事やトップページの記事一覧部分といったスペースを使いたくない箇所で利用できるので検討してみてはいかがでしょうか。

Author

cortoデザイナー小林のプロフィール写真
Masayuki Kobayashi

1980年生まれ、茨城県出身。ロゴ制作を軸に、CI・VIデザインやウェブサイト制作など、多様な分野で活躍するフリーランスデザイナーとして14年の実績を積んできました。これまでに手がけた案件は多岐にわたり、とくに美容サロンや小規模ビジネスの世界観を引き立てるデザインを得意としています。一人ひとりの想いや事業の本質を丁寧に汲み取り、長く愛されるロゴやホームページ、名刺デザインを目指し、単なる装飾に終わらない、効果的な魅力発信をお手伝いします。

  • Update2025.03.23
  • Publication2025.03.20
お問い合わせをする