レイアウトはデザインの「骨格」です。どれほど美しい色やタイポグラフィを使っても、レイアウトが崩れていればユーザーは混乱し、情報を正しく受け取れません。本レッスンでは、プロのデザイナーが実際に使うグリッドシステムの考え方から、レスポンシブデザインの設計手法、視線誘導のパターンまで体系的に学習します。
グリッドシステムは印刷デザインの世界から生まれ、スイスのデザイナーたちが20世紀中頃に体系化しました。「インターナショナル・タイポグラフィック・スタイル(スイス・スタイル)」と呼ばれるこのデザイン哲学は、合理性・明快さ・普遍性を重視し、現代のWebデザインにも深く根ざしています。グリッドは単なる整列ツールではなく、デザインに秩序・リズム・階層をもたらす思考フレームワークです。
グリッドシステムとは、ページ上の要素を整然と配置するための不可視の格子状の枠組みです。印刷物のレイアウト設計に端を発し、現代のWebデザインに至るまで、一貫して使われてきた基本原理です。
12カラムグリッドの構造図
1. カラム(Column)
縦方向に分割された領域のことです。要素はカラムに沿って配置します。1カラム〜12カラムの幅を組み合わせて使います。
2. ガター(Gutter)
カラムとカラムの間の空白(余白)です。コンテンツが密着しないよう、要素間に適切な呼吸空間を確保します。一般的なガター幅は16px〜32pxです。ガターが狭すぎると要素が窮屈に見え、広すぎると要素がバラバラに見えます。プロジェクトのスケール感に合わせて選択します。
3. マージン(Margin)
ページの左右端とコンテンツ領域の間の余白です。画面幅によって可変させることが多く、モバイルでは16px、タブレットでは32px、デスクトップでは64px以上設けることが一般的です。最大コンテンツ幅(max-width)を設定することで、超大型モニターでコンテンツが広がりすぎるのを防ぎます。
グリッドのコンテナ設計例:
```css /* 標準的なコンテナ設計 / .container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 16px; / モバイルのマージン */ }
@media (min-width: 768px) { .container { padding: 0 32px; /* タブレットのマージン */ } }
@media (min-width: 1280px) { .container { padding: 0 64px; /* デスクトップのマージン */ } } ```
Webデザインの世界で12カラムが事実上の標準となっているのには、数学的な理由があります。
| 分割数 | カラム数 | 使用例 |
|---|---|---|
| 2等分 | 6 + 6 | 2カラムレイアウト |
| 3等分 | 4 + 4 + 4 | 3カラムカード |
| 4等分 | 3 + 3 + 3 + 3 | 4カラムグリッド |
| 左1/3+右2/3 | 4 + 8 | サイドバー+メイン |
| 左1/4+右3/4 | 3 + 9 | ナビ+コンテンツ |
12という数字は 2・3・4・6 の公倍数であるため、非常に柔軟な分割が可能です。これに対して10カラムは2・5にしか割り切れず、表現の幅が狭まります。
💡 Bootstrap・Tailwind CSS・Material UI など、主要なUIフレームワークはほぼすべて12カラムグリッドを採用しています。
現代のWebデザインは、様々な画面サイズに対応するレスポンシブデザインが前提です。
| 名称 | px幅 | 対象デバイス |
|---|---|---|
| xs(Extra Small) | 〜 639px | スマートフォン縦 |
| sm(Small) | 640px〜 | スマートフォン横 |
| md(Medium) | 768px〜 | タブレット |
| lg(Large) | 1024px〜 | ノートPC |
| xl(Extra Large) | 1280px〜 | デスクトップ |
| 2xl | 1536px〜 | 大型モニター |
⚠️ ブレイクポイントはデバイス基準ではなく、コンテンツが崩れる点で設定するのが正しい考え方です。「コンテンツが1行に収まらなくなる幅」「カードが小さくなりすぎる幅」に合わせて設定します。
```html
<!-- モバイル: 1カラム、タブレット: 2カラム、PC: 3カラム --> <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"> <div class="card">...</div> <div class="card">...</div> <div class="card">...</div> </div> \`\`\`この2つはどちらもレイアウト用のCSSですが、適した用途が異なります。
**1次元(横方向または縦方向)**のレイアウトに最適です。
```css /* ナビゲーションバー(横並び) */ nav { display: flex; justify-content: space-between; align-items: center; } ```
Flexboxが向いている場面:
**2次元(横方向と縦方向の同時制御)**のレイアウトに最適です。
```css /* 12カラムグリッドの設定 */ .container { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; }
/* 左サイドバー(4カラム)+ メインコンテンツ(8カラム) */ .sidebar { grid-column: span 4; } .main { grid-column: span 8; } ```
CSS Gridが向いている場面:
| 比較項目 | Flexbox | CSS Grid |
|---|---|---|
| 次元 | 1次元 | 2次元 |
| コンテンツ主導 | ✓ | △ |
| レイアウト主導 | △ | ✓ |
| ブラウザ対応 | ◎ | ◎ |
| 習得難易度 | 低 | 中 |
✅ 実際の開発では FlexboxとCSS Grid を組み合わせて使います。ページの大枠は Grid、コンポーネント内部は Flexbox というパターンが最も一般的です。
ユーザーがWebページをどのように視線を動かして読むか、アイトラッキング研究によって解明された2つの主要なパターンがあります。
F型パターンとZ型パターンの比較
テキスト主体のページ(ブログ・ニュースサイト・ドキュメント)でよく見られるパターンです。
F型パターンへの設計対応:
視覚要素が多いページ(LP・トップページ・キャンペーンページ)でよく見られます。
Z型パターンへの設計対応:
💡 どちらのパターンを採用するかは、ページの目的で決まります。情報提供メインのコンテンツページはF型対応、コンバージョン目的のLPはZ型対応を意識してください。
自然界に存在する美しい比率です。縦横の比がこの比率に近いと、人間が「美しい」と感じやすいことが知られています。
Webデザインへの応用:
画面を縦横それぞれ3分割し、その交点や線上に主要要素を配置する方法です。
実装例:
```css /* コンテンツを画面の左1/3と右2/3に分割 / .layout { display: grid; grid-template-columns: 1fr 2fr; / 1:2 ≈ 三分割 */ gap: 32px; } ```
全ての余白(padding・margin・gap)を8の倍数を基本に設定するシステムです(アイコン周りなどの細かい調整には4pxや12pxなど4の倍数も使います)。Google Material DesignやApple Human Interface Guidelinesも採用しています。
| 用途 | 余白値 | 場面 |
|---|---|---|
| 極小 | 4px | アイコンの内側余白 |
| 小 | 8px | ボタン内の上下余白 |
| 中小 | 16px | カード内のパディング |
| 中 | 24px | セクション間の基本余白 |
| 大 | 32px | コンポーネント間 |
| 特大 | 48〜64px | セクション間の大余白 |
| 超大 | 80〜96px | ページトップ・ヒーロー |
✅ 8pxグリッドを使う最大のメリットは「デザイナーとエンジニアの認識合わせ」です。余白が体系化されると、デザイン指示の曖昧さがなくなります。
画面のデバイスピクセル比(DPR)が1x、1.5x、2x、3xなど様々ある中で、4の倍数は全てのスケーリングで整数ピクセルに収まります。これによりレンダリングのぼやけを防げます。
現代のWebデザインで最も多用されるカード型UIの設計ガイドラインです。
``` ┌─────────────────────────────┐ │ [サムネイル画像 16:9] │ ├─────────────────────────────┤ │ カテゴリラベル │ │ タイトル(最大2行) │ │ 説明文(最大3行) │ │ │ │ [アバター] 著者名 · 日付 │ └─────────────────────────────┘ ```
カード設計の重要ルール:
日本でもインターネット利用の多くをスマートフォンが占めています。さらにGoogleはモバイルファーストインデックスを採用しており、モバイル版のコンテンツをSEO評価の基準にしています。
1. コンテンツの優先順位を決める
モバイル画面に入れられる情報量は少ない。最も重要な情報だけを残し、補足情報はアコーディオンや別ページに移動します。
2. タップターゲットサイズ
指で操作することを前提に、ボタンやリンクは最小44×44px(Apple HIG基準)を確保します。
3. CSSはモバイルから書く
```css /* モバイルファーストの記述順 / .container { padding: 16px; / モバイル: 小さな余白 */ }
@media (min-width: 768px) { .container { padding: 32px; /* タブレット以上: 大きな余白 */ } }
@media (min-width: 1280px) { .container { padding: 64px; /* デスクトップ: 最大余白 */ max-width: 1200px; margin: 0 auto; } } ```
⚠️ デスクトップファーストで書いたCSSを後からモバイル対応させるのは非常に困難です。最初からモバイルファーストで設計する習慣をつけましょう。
大規模なプロジェクトでは、グリッドシステムをデザインシステムの一部として定義し、チーム全体で共有します。
グリッドの余白・カラム・ブレイクポイントを「デザイントークン」として定義することで、デザイナーとエンジニアが共通の言語で作業できます。
```json { "spacing": { "1": "4px", "2": "8px", "3": "12px", "4": "16px", "6": "24px", "8": "32px", "12": "48px", "16": "64px" }, "breakpoints": { "sm": "640px", "md": "768px", "lg": "1024px", "xl": "1280px" } } ```
この定義をCSSカスタムプロパティやTailwindの設定ファイルに反映させることで、一箇所の変更が全体に波及するメンテナンス性の高い設計になります。
デザインツールでもグリッドを設定することで、実装との整合性を保ちます。
Figmaのグリッド設定手順:
💡 FigmaとコードのグリッドはTailwind CSSの設定と一致させることで、デザインからコードへの変換ロスを最小化できます。
プロを目指す上で、よく起きるレイアウトミスを事前に知っておくことが重要です。
```css /* ❌ max-widthを設定していない */ .container { width: 100%; padding: 0 20px; }
/* ✅ 最大幅を設定する */ .container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; } ```
同じページ内でpadding: 15pxとpadding: 20pxが混在していると、視覚的なリズムが崩れます。8pxグリッドに基づいて16pxと24pxに統一するだけで、デザインが締まります。
リンクやボタンの高さが24pxしかないと、スマートフォンでの操作が困難になります。最低44px(Apple HIG基準)または48px(Google Material Design基準)を確保することがアクセシビリティの観点から重要です。
複数のレイヤーを持つレイアウトでz-indexを場当たり的に設定すると、モーダル・ドロップダウン・ツールチップが意図しない重なり順になります。z-indexをデザイントークンで管理する方法が有効です。
```css :root { --z-base: 0; --z-dropdown: 100; --z-sticky: 200; --z-modal-overlay: 300; --z-modal: 400; --z-toast: 500; } ```
グリッド分析: 好きなWebサービス(Amazon・Twitter・Notionなど)を開き、開発者ツールで`display: grid`または`display: flex`を使っているコンテナを探してください。何カラム構成かを確認しましょう。
レイアウト再現: 12カラムグリッドを使って、以下のレイアウトをHTMLとCSSで作成してください。
視線分析: 自分で作ったLPやWebサイトを印刷し、F型とZ型の視線パターンを書き込んでみましょう。重要な情報が視線の通り道に配置されているか確認してください。
余白統一: 既存のHTMLページの余白を8の倍数を基本に、細部は4の倍数(4px, 8px, 16px, 24px, 32px, 48px)に揃えてください。改善前後でスクリーンショットを撮り、変化を比較しましょう。
レスポンシブ検証: Chrome DevToolsの「Responsive Design Mode」を使い、作成したレイアウトを375px・768px・1280pxの3つの幅で確認してください。各ブレイクポイントで意図通りに表示されるか検証します。
プロジェクト納品前に必ず確認すべき項目をまとめました。
グリッド整合性チェック
レスポンシブチェック
余白・スペーシングチェック
アクセシビリティチェック
全問正解でこのレッスンが「完了」になり、コースの全レッスンを完了すると修了証が発行されます。解説つき・何度でも挑戦できます。
Q1.Webデザインで12カラムグリッドが標準的に使われている理由として、本文に沿うものはどれですか。
Q2.コンバージョンを目的とした商品LPのファーストビューを設計します。本文の視線パターンに沿った配置はどれですか。
Q3.新しいスマートフォンが発売されるたびに、その画面幅に合わせたブレイクポイントを追加しています。本文に沿った見直し方はどれですか。
完全無料・クレジットカード不要
HTML/CSSコーディング入門
CSS Flexbox(フレックスボックス)は、1次元のレイアウト(横または縦方向への要素配置)を直感的かつ強力に実現するレイアウトモジュー
30分本文は無料で閲覧可
実践Webデザイン - Figma完全マスター講座
Auto LayoutはFigmaが他のデザインツールと一線を画す最大の機能です。
30分本文は無料で閲覧可
HTML/CSSコーディング入門
HTMLのすべての要素は目に見えない「箱(ボックス)」として扱われます。
30分本文は無料で閲覧可
Canvaデザイン実践講座
Canvaはオーストラリア発のオンラインデザインツールです。
25分無料公開
Canvaデザイン実践講座
デザインをゼロから作るのは時間がかかり、センスがないと感じる原因にもなります。
25分本文は無料で閲覧可
Canvaデザイン実践講座
ブランドキットとは、企業やブランドのビジュアルアイデンティティ(ロゴ・カラー・フォント)をCanva上に登録し、すべてのデザイン制作に一貫し
25分本文は無料で閲覧可