カードを縦並びにするFlexboxの使い方【HTML/CSS・サンプルコード付き】

Flexbox

カードを縦並びにするFlexboxの使い方

カードを縦並びにするFlexboxの使い方を紹介します。本記事では、HTMLとCSSを使って複数のカードを上から下へ並べるレイアウトを作成します。Flexboxを使うことで、カード同士の間隔を整えながら、シンプルで見やすい縦並びレイアウトを作ることができます。

このサンプルコードでは、カード一覧にFlexboxを指定し、カードを縦方向へ並べます。横並びではなく縦に積み重ねて表示したい場合や、スマホ向けの一覧表示を作りたい場合にも使いやすい構成です。カード同士の余白もCSSでまとめて調整できます。

縦並びのカードレイアウトは、お知らせ一覧、記事一覧、メニュー一覧、FAQ一覧、設定項目などでよく利用されます。Flexboxの基本を学びながら、縦方向に整ったカード一覧を作りたい方におすすめです。

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

デモ

カードを縦並びにするFlexbox

下の3つのカードは、カード一覧に display:flex;flex-direction:column; を指定して縦並びにしています。

display:flex; を指定すると、カードの並び方をFlexboxで制御できます。
flex-direction:column; を指定すると、カードが上から下へ縦方向に並びます。
gap:16px; でカード同士の間隔を空けています。

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

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

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

  <!-- スマホ表示に対応 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- ページタイトル -->
  <title>カードを縦並びにするFlexboxの使い方</title>

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

</head>
<body>

  <!-- 全体エリア -->
  <div class="vertical-flexbox-card-layout_wrap">

    <!-- タイトル -->
    <h1 class="vertical-flexbox-card-layout_title">
      カードを縦並びにするFlexbox
    </h1>

    <!-- カード一覧 -->
    <div class="vertical-flexbox-card-layout_list">

      <!-- カード1 -->
      <div class="vertical-flexbox-card-layout_card"></div>

      <!-- カード2 -->
      <div class="vertical-flexbox-card-layout_card"></div>

      <!-- カード3 -->
      <div class="vertical-flexbox-card-layout_card"></div>

    </div>

  </div>

</body>
</html>

ファイル構成と設置方法

このサンプルでは、HTMLとCSSを別ファイルで管理します。HTMLにカード一覧の構造を配置し、CSSでFlexboxを使ってカードを縦並びにします。

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

2つのファイルを同じフォルダへ配置し、ブラウザで index.html を開いてください。カードを縦並びにするには、カード一覧の要素に display:flex; を指定し、さらに flex-direction:column; を追加します。カード同士の間隔は gap で調整できます。


コメント