CSSを使用した水平スクロールカードの作成方法


方法1: CSS Flexboxを使用する方法

Flexboxを使用すると、簡単に水平スクロールカードを作成することができます。以下のステップに従ってください:

  1. HTMLのマークアップ:

    <div class="card-container">
     <div class="card">Card 1</div>
     <div class="card">Card 2</div>
     <div class="card">Card 3</div>
     <!-- 追加のカードを必要に応じて追加 -->
    </div>
  2. CSSスタイルの追加:

    .card-container {
     display: flex;
     overflow-x: scroll;
    }
    .card {
     flex: 0 0 auto;
     width: 300px; /* カードの幅を設定 */
     margin-right: 10px; /* カード間の余白を設定 */
    }

上記のコードでは、.card-containerクラスにdisplay: flexを設定し、水平方向に要素を並べることができます。また、overflow-x: scrollを指定することで、カードがコンテナからはみ出た場合にスクロールバーが表示されるようになります。

方法2: CSS Gridを使用する方法

CSS Gridを使用すると、より柔軟なレイアウトを作成することができます。以下の手順を参考にしてください:

  1. HTMLのマークアップ:

    <div class="card-container">
     <div class="card">Card 1</div>
     <div class="card">Card 2</div>
     <div class="card">Card 3</div>
     <!-- 追加のカードを必要に応じて追加 -->
    </div>
  2. CSSスタイルの追加:

    .card-container {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* カードの列の設定 */
     gap: 10px; /* カード間の余白を設定 */
     overflow-x: scroll;
    }
    .card {
     /* カードのスタイルを設定 */
    }

上記のコードでは、.card-containerクラスにdisplay: gridを設定し、カードをグリッドの形式で配置します。grid-template-columnsプロパティでは、カードの列のサイズを指定します。repeat(auto-fit, minmax(300px, 1fr))は、カードの最小幅を300pxとし、必要に応じてカードをフィットさせる指示です。

以上が、水平スクロールカードを作成するための2つの一般的な方法です。どちらの方法も、異なる要件やデザインに合わせてカスタマイズすることができます。