CSS Gridレイアウト徹底解説|基本から応用までの完全ガイド


1. グリッドレイアウトとは?

CSS Gridレイアウトは、Webデザインにおいて要素を行(row)と列(column)の2軸で整列させるための強力なレイアウトシステムです。複雑なデザインも直感的かつ効率的に構築できるため、近年のWebデザインで頻繁に活用されています。

Flexboxとの違い

  • Grid:2次元レイアウト(行と列)に適している
  • Flexbox:1次元レイアウト(行か列のどちらか)に適している

2. グリッドレイアウトの基本構造

グリッドレイアウトを使用するには、親要素に display: grid; を指定し、子要素の配置を指定します。

例:2列の基本レイアウト

.container {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 2列 */
  gap: 20px; /* 要素間の余白 */
}

<div class="container">
  <div>Item 1</div>
  <div>Item 2</div>
</div>

3. グリッドの主要プロパティ

grid-template-rows / grid-template-columns

  • 行と列のサイズを指定します。
  • fr(フラクション)単位を使用すると、スペースが自動的に分配されます。
.container {
  grid-template-columns: 1fr 2fr 1fr; /* 3列のレイアウト */
}

gap

行や列の間隔を指定します。

.container {
  gap: 10px 20px; /* 行間10px、列間20px */
}

視覚的にエリアを指定できるプロパティ。

.container {
  grid-template-areas:
    "header header"
    "sidebar main"
    "footer footer";
}

.header { grid-area: header; }
.sidebar { grid-area: sidebar; }
.main { grid-area: main; }
.footer { grid-area: footer; }

4. 実践的なレイアウト例

2列レイアウト

.container {
  grid-template-columns: 1fr 2fr;
}

3列レイアウト

.container {
  grid-template-columns: repeat(3, 1fr);
}

カード型レイアウト

.container {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

5. レスポンシブデザインへの応用

minmax()repeat() を使用することで、レスポンシブ対応がより簡単になります。

.container {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

6. よくあるトラブルと解決法

問題:要素がズレるgrid-template-rows または grid-template-columns の指定が不足している可能性があります。

問題:overflow による崩れ → minmax() の活用で回避できます。


7. おすすめのCSSグリッドジェネレーター


8. コードサンプル

4カラムのグリッドレイアウト例

<div class="container">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
  <div>Item 4</div>
</div>

.container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}

9. まとめ

CSS Gridは、効率的で柔軟なレイアウト設計が可能な強力なツールです。この記事で紹介した基本から応用までのテクニックを活用し、快適なWebデザインを目指しましょう!

✪ 画像素材がないものはランダムで表示されるようになっています。フリー素材などでご用意ください。

おすすめChromeプラグイン一覧

プラグイン名特徴
GoFullPageウェブページ全体のスクリーンショットを簡単に取得できるブラウザ拡張機能です。
ColorZilla色を抽出するための拡張機能です。
WhatFontウェブページ上のフォントの情報を簡単に確認できるブラウザ拡張機能です。
PerfectPixelデザイナーが作成したデザインと実際にコーディングされたウェブページがどの程度一致しているかを確認・調整するためのブラウザ拡張機能です。

模写の手順

ステップ内容
ステップ 1構図を手書きか全画面スクショ(Go full page等)した後、ペイントツールで四角で囲い、大まかなclass,命名規則をあらかじめ決める。
ステップ 2HTMLの基本構造を作成する
ステップ 3CSSでレイアウトを模写する
ステップ 4 中級〜JavaScriptを追加して動きを再現する
ステップ 5最終調整を行い、検証ツールやPerfectPixel(chromeプラグイン)などで完成を確認する。