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

カルーセル

カード型カルーセルを作る方法

カード型カルーセルを作る方法を紹介します。画像・タイトル・説明文・ボタンを1枚のカードとして横方向へ切り替えられるレイアウトです。商品一覧やサービス紹介、おすすめ記事、制作実績など、複数の情報をコンパクトに表示したい場面で利用できます。左右の矢印ボタンとドットナビによる切り替えに対応しているため、シンプルながら使いやすいカルーセルを実装できます。HTML・CSS・JavaScriptのみで動作するため、そのままコピーして利用でき、カードのデザインや色、画像、テキストも自由に変更できます。

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

デモ

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

<!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="card-carousel_demo">

    <!-- カルーセル表示エリア -->
    <div class="card-carousel_view">

      <!-- 横にスライドするカード一覧 -->
      <div class="card-carousel_track" id="card-carousel-track">

        <!-- カードスライド1 -->
        <div class="card-carousel_slide">

          <!-- カード本体 -->
          <div class="card-carousel_card">

            <!-- カード画像:imagesフォルダに配置した画像ファイル名へ変更 -->
            <img src="images/【配置した画像のファイル名1】" alt="カード画像1">

            <!-- カード内容 -->
            <div>

              <!-- ラベル -->
              <div class="card-carousel_badge">おすすめ</div>

              <!-- カードタイトル -->
              <div class="card-carousel_title">商品カード 01</div>

              <!-- カード説明文 -->
              <p class="card-carousel_text">
                商品画像・タイトル・説明文・ボタンをまとめたカード型カルーセルです。
              </p>

              <!-- ボタン -->
              <a href="#" class="card-carousel_button">詳しく見る</a>

            </div>

          </div>

        </div>

        <!-- カードスライド2 -->
        <div class="card-carousel_slide">

          <!-- カード本体 -->
          <div class="card-carousel_card">

            <!-- カード画像:imagesフォルダに配置した画像ファイル名へ変更 -->
            <img src="images/【配置した画像のファイル名2】" alt="カード画像2">

            <!-- カード内容 -->
            <div>

              <!-- ラベル -->
              <div class="card-carousel_badge">新着</div>

              <!-- カードタイトル -->
              <div class="card-carousel_title">商品カード 02</div>

              <!-- カード説明文 -->
              <p class="card-carousel_text">
                サービス紹介や制作実績などにも利用できます。
              </p>

              <!-- ボタン -->
              <a href="#" class="card-carousel_button">詳しく見る</a>

            </div>

          </div>

        </div>

        <!-- カードスライド3 -->
        <div class="card-carousel_slide">

          <!-- カード本体 -->
          <div class="card-carousel_card">

            <!-- カード画像:imagesフォルダに配置した画像ファイル名へ変更 -->
            <img src="images/【配置した画像のファイル名3】" alt="カード画像3">

            <!-- カード内容 -->
            <div>

              <!-- ラベル -->
              <div class="card-carousel_badge">人気</div>

              <!-- カードタイトル -->
              <div class="card-carousel_title">商品カード 03</div>

              <!-- カード説明文 -->
              <p class="card-carousel_text">
                HTML・CSS・JavaScriptだけで動作します。
              </p>

              <!-- ボタン -->
              <a href="#" class="card-carousel_button">詳しく見る</a>

            </div>

          </div>

        </div>

      </div>

      <!-- 前へボタン -->
      <button class="card-carousel_arrow card-carousel_prev" type="button" id="card-carousel-prev" aria-label="前へ">
        前へ
      </button>

      <!-- 次へボタン -->
      <button class="card-carousel_arrow card-carousel_next" type="button" id="card-carousel-next" aria-label="次へ">
        次へ
      </button>

    </div>

    <!-- ドットナビ -->
    <div class="card-carousel_dots">

      <!-- 1枚目へ移動 -->
      <button class="card-carousel_dot is-active" type="button" data-index="0" aria-label="1枚目"></button>

      <!-- 2枚目へ移動 -->
      <button class="card-carousel_dot" type="button" data-index="1" aria-label="2枚目"></button>

      <!-- 3枚目へ移動 -->
      <button class="card-carousel_dot" type="button" data-index="2" aria-label="3枚目"></button>

    </div>

  </div>

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

</body>
</html>

ファイル構成と設置方法

このサンプルは、HTML・CSS・JavaScriptを分けたシンプルな構成です。HTMLでカード型カルーセルのレイアウトを作成し、CSSでカードデザインやスライドアニメーションを設定しています。JavaScriptでは前へ・次へボタンとドットナビによるスライド切り替え処理を行っています。表示する画像は sample/images/ フォルダへ配置して利用します。

sample
├── index.html
├── style.css
├── script.js
└── images
    ├── image1.jpg
    ├── image2.jpg
    ├── image3.jpg
    ├── image4.jpg
    ├── image5.jpg
    └── image6.jpg

sample/index.html をブラウザで開くとカード型カルーセルを確認できます。使用する画像は sample/images/ に配置し、HTML内の画像パスを書き換えてください。カードの横幅・高さ・角丸・余白・影などのデザインは style.css で変更できます。スライドアニメーションの速度は style.csstransition: .4s を変更すると調整でき、数値を大きくするとゆっくり、小さくすると速く切り替わります。


コメント