カテゴリ: CSS 更新日: 2025/12/23

CSSフレックスボックスで作るカードレイアウト完全ガイド|初心者でもわかるflexbox入門

カードレイアウトをflexで組む方法
カードレイアウトをflexで組む方法

先生と生徒の会話形式で理解しよう

生徒

「カードが横に並んでいるデザインをよく見るんですが、どうやって作るんですか?」

先生

「CSSのフレックスボックスを使うと、とても簡単にカードレイアウトが作れます。」

生徒

「フレックスボックスって、パソコンを触ったことがなくても理解できますか?」

先生

「大丈夫です。箱を並べるイメージで、一つずつ丁寧に説明します。」

1. カードレイアウトとは何かを知ろう

1. カードレイアウトとは何かを知ろう
1. カードレイアウトとは何かを知ろう

カードレイアウトとは、情報を「カード」のような四角い箱に分けて表示するデザインのことです。 ネットショップの商品一覧、ブログの記事一覧、サービス紹介ページなど、さまざまな場面で使われています。 初心者の方は、まず「一つの情報を一つの箱に入れる」と覚えると理解しやすくなります。

このカードを横に並べたり、画面の幅に合わせて自動で並び替えたりするために使われるのが、 CSSのフレックスボックスです。フレックスボックスは、要素の並び方を簡単にコントロールできる仕組みです。

2. フレックスボックスの基本的な考え方

2. フレックスボックスの基本的な考え方
2. フレックスボックスの基本的な考え方

フレックスボックスを理解するためには、「親」と「子」の関係を知ることが大切です。 親はカード全体を包む箱、子は一枚一枚のカードだと考えてください。 親に対して「フレックスボックスを使います」と指定すると、中に入っている子が横並びになります。

たとえば、本棚を想像してください。本棚が親で、本が子です。 本棚を横向きに使うと、本は自然と横に並びます。 フレックスボックスも同じような考え方で動いています。

3. カードを横に並べる基本コード

3. カードを横に並べる基本コード
3. カードを横に並べる基本コード

ここでは、もっとも基本的なカードレイアウトを作ります。 まずはHTMLでカードを用意し、CSSでフレックスボックスを指定します。 難しく感じるかもしれませんが、そのまま真似して大丈夫です。


<style>
	.cards {
	    display: flex;
	}
	.card {
	    border: 1px solid #ccc;
	    padding: 16px;
	    margin: 8px;
	    width: 150px;
	}
</style>

<div class="cards">
	<div class="card">カード1</div>
	<div class="card">カード2</div>
	<div class="card">カード3</div>
</div>
ブラウザ表示

displayという言葉は「表示方法」という意味です。 flexと書くことで、「中身を横に並べてください」という指示になります。 これだけで、カードは自然に横並びになります。

4. カードの間隔を整える方法

4. カードの間隔を整える方法
4. カードの間隔を整える方法

カード同士がくっついていると見づらくなります。 そこで使うのが、マージンとパディングです。 マージンは箱の外側のすき間、パディングは箱の内側のすき間です。

お弁当箱で例えると、パディングはお弁当箱の中の余白、 マージンはお弁当箱同士の間隔です。 この考え方を覚えると、レイアウトが理解しやすくなります。

5. 画面幅に合わせてカードを折り返す

5. 画面幅に合わせてカードを折り返す
5. 画面幅に合わせてカードを折り返す

パソコンの画面が狭くなると、カードがはみ出してしまうことがあります。 そんなときは、折り返しの設定を行います。 フレックスボックスでは、折り返しも簡単に指定できます。


<style>
	.cards {
	    display: flex;
	    flex-wrap: wrap;
	}
	.card {
	    border: 1px solid #ccc;
	    padding: 16px;
	    margin: 8px;
	    width: 150px;
	}
</style>

<div class="cards">
	<div class="card">カードA</div>
	<div class="card">カードB</div>
	<div class="card">カードC</div>
	<div class="card">カードD</div>
</div>
ブラウザ表示

flex-wrapは「折り返すかどうか」を決める設定です。 wrapと書くことで、画面に収まらないカードは次の行に移動します。 スマートフォンでも見やすいレイアウトになります。

6. カードレイアウトがよく使われる理由

6. カードレイアウトがよく使われる理由
6. カードレイアウトがよく使われる理由

フレックスボックスを使ったカードレイアウトは、初心者にも扱いやすく、 少ないコードで見た目を整えられるのが大きな特徴です。 また、後からカードを増やしても、レイアウトが崩れにくいという利点もあります。

特にブログや商品紹介ページでは、「情報を整理して見せる」ことが重要です。 カードレイアウトは、見る人が内容を直感的に理解しやすくなるため、 多くのウェブサイトで採用されています。

カテゴリの一覧へ
新着記事
New1
CSS
CSS Gridテンプレート集!よく使うWebレイアウトの作り方
New2
HTML
HTML head要素とは?meta・titleの役割と基本を解説
New3
Bootstrap
Bootstrap固定比率カラム完全ガイド!.col-6・.col-md-4の使い方とベストプラクティスを初心者向けに解説
New4
CSS
CSS Gridとメディアクエリで作る!レスポンシブデザイン完全入門
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSの入れ子構造セレクタ完全ガイド!初心者でもわかる書き方と使い方
No.2
Java&Spring記事人気No2
HTML
HTMLでできること・できないこと|初心者が迷う点を整理
No.3
Java&Spring記事人気No3
CSS
CSS Gridの配置を視覚的にデザイン!grid-template-areasの設計方法
No.4
Java&Spring記事人気No4
CSS
CSSの文字色と背景色の組み合わせで読みやすさアップ!初心者でもわかる可読性の改善方法
No.5
Java&Spring記事人気No5
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.6
Java&Spring記事人気No6
Bootstrap
Bootstrap5グリッドとは?12分割の基本とrow・col・gutterを初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
HTML
HTML html/head/bodyタグの役割|文書構造の基本を整理
No.8
Java&Spring記事人気No8
HTML
HTML文書構造とは?ページ構造とアウトライン設計の基本を解説