基本のカルーセルを作る方法【HTML/CSS/JavaScript・サンプルコード付き】

カルーセル

基本のカルーセルを作る方法

基本のカルーセルを作る方法を紹介します。このサンプルでは、HTML・CSS・JavaScriptを使用して、カードを1枚ずつ切り替えて表示するシンプルなカルーセルを作成します。左右のボタンで前後のカードへ移動できるほか、下部のドットナビゲーションから表示したいカードを直接選択できます。カルーセルは3枚のカードで構成されており、最後のカードまで進むと停止するため、ループしない基本的な動作を確認できます。

サービス紹介、機能説明、お知らせ、商品一覧、実績紹介など、複数の情報を限られたスペースへ順番に表示したい場面で利用できます。現在表示中のカードはドットナビゲーションから確認でき、左右のボタンをクリックするだけで1枚ずつ切り替わるため、初めてカルーセルを作成する方でも仕組みを理解しやすい構成になっています。自動再生やスワイプ操作などは実装せず、基本的なカルーセルの動作だけに絞っています。

カードの見出しや説明文はHTMLから変更でき、CSSでは横幅、余白、背景色、文字サイズ、ボタンやドットの色などを自由に調整できます。JavaScriptではカードの切り替え処理を行っており、シンプルな構成なのでカスタマイズもしやすく、レスポンシブにも対応しているため、スマートフォン・タブレット・PCで利用できる基本的なカルーセルのサンプルとして活用できます。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。

デモ

コードをコピーして使おう!

<!DOCTYPE html>
<html lang="ja">
<head>

  <!-- 文字コード -->
  <meta charset="UTF-8">

  <!-- スマートフォン表示対応 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- ページタイトル -->
  <title>基本のカルーセル</title>

  <!-- CSSファイルを読み込み -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- カルーセル全体 -->
  <div class="basic-carousel_wrap">

    <!-- タイトル -->
    <div class="basic-carousel_title">
      基本のカルーセル
    </div>

    <!-- 説明文 -->
    <p class="basic-carousel_text">
      左右のボタンまたはドットをクリックするとカードを1枚ずつ切り替えます。
    </p>

    <!-- カルーセル操作エリア -->
    <div class="basic-carousel_area">

      <!-- 前のカードへ移動するボタン -->
      <button
        class="basic-carousel_button basic-carousel_prev"
        type="button"
        aria-label="前のカード">
        &lsaquo;
      </button>

      <!-- カード表示エリア -->
      <div class="basic-carousel_view">

        <!-- 3枚のカードを横並びにする要素 -->
        <div class="basic-carousel_track">

          <!-- 1枚目のカード -->
          <div class="basic-carousel_card">

            <!-- カード見出し -->
            <div class="basic-carousel_card-title">
              HTML
            </div>

            <!-- カード説明文 -->
            <p class="basic-carousel_card-text">
              HTMLでカルーセル全体とカードを配置します。
            </p>

          </div>

          <!-- 2枚目のカード -->
          <div class="basic-carousel_card">

            <!-- カード見出し -->
            <div class="basic-carousel_card-title">
              CSS
            </div>

            <!-- カード説明文 -->
            <p class="basic-carousel_card-text">
              CSSでレイアウトやデザインを設定します。
            </p>

          </div>

          <!-- 3枚目のカード -->
          <div class="basic-carousel_card">

            <!-- カード見出し -->
            <div class="basic-carousel_card-title">
              JavaScript
            </div>

            <!-- カード説明文 -->
            <p class="basic-carousel_card-text">
              JavaScriptでカードを1枚ずつ切り替えます。
            </p>

          </div>

        </div>

      </div>

      <!-- 次のカードへ移動するボタン -->
      <button
        class="basic-carousel_button basic-carousel_next"
        type="button"
        aria-label="次のカード">
        &rsaquo;
      </button>

    </div>

    <!-- ドットナビゲーション -->
    <div class="basic-carousel_dots">

      <!-- 1枚目を表示するドット -->
      <button
        class="basic-carousel_dot is-active"
        type="button"
        aria-label="1枚目のカードを表示">
      </button>

      <!-- 2枚目を表示するドット -->
      <button
        class="basic-carousel_dot"
        type="button"
        aria-label="2枚目のカードを表示">
      </button>

      <!-- 3枚目を表示するドット -->
      <button
        class="basic-carousel_dot"
        type="button"
        aria-label="3枚目のカードを表示">
      </button>

    </div>

  </div>

  <!-- JavaScriptファイルを読み込み -->
  <script src="script.js"></script>

</body>
</html>
コードをコピーする場合 使用するコードのタブを選び、「このタブをコピー」をクリックすると、現在表示中のコードをコピーできます。
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。

ファイル構成と設置方法

このサンプルはHTML・CSS・JavaScriptの3ファイルで構成されています。HTMLではカルーセル全体のレイアウトと3枚のカード、左右の移動ボタン、ドットナビゲーションを配置します。CSSではカードやボタンのデザインとレイアウトを設定し、JavaScriptではカードを1枚ずつ切り替える処理やドットの状態管理を行います。最後のカードまで移動すると停止するシンプルなカルーセルです。

sample/
├── index.html
├── style.css
└── script.js

各ファイルの役割
index.htmlはカルーセル全体を構成するファイルです。カードの見出しや説明文、左右のボタン、ドットナビゲーションを編集できます。

style.cssはカルーセルのデザインを設定するファイルです。横幅、余白、背景色、カードのデザイン、ボタンやドットの色、文字サイズなどを変更できます。

script.jsはカルーセルの動作を管理するファイルです。左右ボタンによる切り替え、ドットクリックによる移動、現在位置の管理を行います。

設置方法・使い方
sampleフォルダへindex.html、style.css、script.jsを配置します。3つのファイルを同じ階層へ保存したあと、sample/index.htmlをブラウザで開いてください。左右のボタンをクリックするとカードが1枚ずつ切り替わります。ドットをクリックすると対応するカードを直接表示できます。

カスタマイズできる内容
index.htmlではカードの見出し、説明文、ボタンのラベル、ドット数を変更できます。カードを追加・削除する場合は、HTML内のカードとドットを同じ枚数にし、JavaScriptの対象要素も合わせて利用してください。

style.cssではカルーセル全体の横幅、カードの余白、背景色、枠線、角丸、ボタンのサイズや色、ドットのサイズや色などを変更できます。script.jsでは切り替え処理や移動方法を変更できます。

数値調整
style.css
max-width:760px;
カルーセル全体の最大横幅です。値を大きくすると横に広がり、小さくするとコンパクトになります。

padding:32px;
カルーセル全体の内側余白です。値を大きくすると余白が広がり、小さくすると詰まった表示になります。

width:52px;
左右ボタンの大きさです。値を大きくするとボタンが大きくなり、小さくするとコンパクトになります。

min-height:190px;
カードの最小高さです。値を大きくするとカードが高くなり、小さくすると低くなります。

padding:36px;
カードの内側余白です。値を大きくするとカード内の余白が広がります。

font-size:30px;
カード見出しの文字サイズです。値を大きくすると文字が大きくなり、小さくすると控えめになります。

transition:transform .3s ease;
カードが切り替わる時間です。0.3秒でスライドします。値を大きくするとゆっくり、小さくすると速く切り替わります。

レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssのwidth:100%max-width:760pxにより画面幅に合わせてカルーセル全体が縮小されます。また、640px以下ではボタンやカードの余白、文字サイズを調整しているため、スマートフォン・タブレット・PCで快適に利用できます。


こちらもおすすめ


コメント