【CSS】Grid(グリッドレイアウト)の使い方について
このまま学習を続けて、本当に実務で通用するのか不安な方へ。
そんな方に向けて、実務で “通用する人としない人の違い” をまとめた無料メール講座を用意しました。
さらに、特典PDFとして、『コーディング中級者が案件獲得前にやるべきこと8選』をプレゼント中です。
CSSのGrid(グリッドレイアウト)の使い方について解説していきます。
グリッドレイアウトを使うことで、タイル型レイアウトも簡単に実装できますのでぜひ使い方を理解しておいてください!
目次
1. Grid(グリッドレイアウト)とは?
グリッドレイアウトとは、格子状のマス目を使ってレイアウトを組み立てていく手法のことを言います。要素を行と列のグリッド状に配置することができ、複雑なレイアウトの作成も可能です。
グリッドレイアウトの名称
グリッドレイアウトの外枠をグリッドコンテナー、中の要素をグリッドアイテムと呼びます。

グリッドレイアウトの基本
グリッドレイアウトを組み立てる際の考え方として、水平方向と垂直方向のラインに1から順番に番号を振ります。
この番号を指定してグリッドアイテムの配置場所または配置範囲を設定していきます。
アイテムとアイテムの間の余白(図のピンク色の部分)は「gap」と呼びます。

2. Grid(グリッドレイアウト)の使用方法
グリッドレイアウトは、displayプロパティの値に「grid」を指定することで使用できます。
display: grid;
行と列の設定は下記のプロパティを使って行います。
3. grid-template-rows
グリッドレイアウトの各行に対して、個別の値を指定するか比率を指定して行の幅を設定します。
個別の値を設定
グリッドレイアウトの各行に対して個別の値を設定します。
例)
grid-template-rows: 600px 400px 240px;
1行目に600px、2行目に400px、3行目に240pxを設定します。

比率を設定
グリッドレイアウトの各行に対して比率を設定します。比率を設定する際は「fr」という単位を指定します。
例)
grid-template-rows: 1fr 1fr 1fr 1fr;
または、
grid-template-rows: repeat(4, 1fr);
1行目から4行目まで均等な幅を設定します。(※数値を2fr、3frとすることで幅の配分を変更できます。)

4. grid-template-columns
グリッドレイアウトの各列に対して、個別の値を指定するか比率を指定して列の幅を設定します。
個別の値を設定
グリッドレイアウトの各列に対して個別の値を設定します。
例)
grid-template-columns: 600px 400px 240px;
1列目に600px、2列目に400px、3列目に240pxを設定します。

比率を設定
グリッドレイアウトの各列に対して比率を設定します。「grid-template-rows」と同じく、比率を設定する際は「fr」という単位を指定します。
例)
grid-template-columns: 1fr 1fr 1fr 1fr;
または、
grid-template-columns: repeat(4, 1fr);
1列目から4列目まで均等な幅を設定します。(※数値を2fr、3frとすることで幅の配分を変更できます。)

5. グリッドレイアウトの使用例
グリッドレイアウトの主な使用例についてご紹介していきます。
例1)4行4列のレイアウト
4行4列のグリッドレイアウトで表示します。

.grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 40px;
}
「grid-template-columns: repeat(4, 1fr);」で均等な幅で4列に設定し、「gap: 40px;」でアイテム間の余白を40pxに設定します。
例2)1つ目のアイテムが結合したレイアウト
4行4列のグリッドレイアウトで、1つ目のアイテムだけ2行2列のエリアで表示します。

.grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 40px
}
.item:nth-child(1) {
grid-column: 1 / 3;
grid-row: 1 / 3;
}
「grid-template-columns: repeat(4, 1fr);」で均等な幅で4列に設定し、「gap: 40px;」でアイテム間の余白を40pxに設定します。
「.item:nth-child(1)」で1つ目のアイテムに対して、「grid-column: 1 / 3;」で列の番号が1〜3番目まで、「grid-row: 1 / 3;」で行の番号が1〜3番目までの範囲を指定します。
※番号の考え方については「グリッドレイアウトの基本」を参照)
例3)結合したアイテムが複数ある複合型のレイアウト
2列目の2行を結合、2行目の3〜4列目を結合、4〜5行目の2〜4列目を結合して表示します。

.grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 40px
}
.item:nth-child(2) {
grid-column: 2 / 3;
grid-row: 1 / 3;
}
.item:nth-child(6) {
grid-column: 3 / 5;
grid-row: 2 / 3;
}
.item:nth-child(8) {
grid-column: 2 / 5;
grid-row: 3 / 5;
}
「grid-template-columns: repeat(4, 1fr);」で均等な幅で4列に設定し、「gap: 40px;」でアイテム間の余白を40pxに設定します。
「.item:nth-child(2)」で2つ目のアイテムに対して、「grid-column: 2 / 3;」で列の番号が2〜3番目まで、「grid-row: 1 / 3;」で行の番号が1〜3番目までの範囲を指定します。
「.item:nth-child(6)」で6つ目のアイテムに対して、「grid-column: 3 / 5;」で列の番号が3〜5番目まで、「grid-row: 2 / 3;」で行の番号が2〜3番目までの範囲を指定します。
「.item:nth-child(8)」で8つ目のアイテムに対して、「grid-column: 2 / 5;」で列の番号が2〜5番目まで、「grid-row: 3 / 5;」で行の番号が3〜5番目までの範囲を指定します。
※番号の考え方については「グリッドレイアウトの基本」を参照)
6. まとめ
CSSのGrid(グリッドレイアウト)の使い方について解説してきました。
グリッドレイアウトについてまとめると下記の通りです。
グリッドレイアウトは、displayプロパティの値に「grid」を指定することで使用できます。
display: grid;
下記のプロパティと一緒に使用することで行と列の設定を行うことができます。
グリッドレイアウトを使いこなすことでタイル型のレイアウトが簡単に実装できるようになります。
コーディングの幅も広がりますので、しっかりと理解して使いこなせるようにしておきましょう!
あなたのコーディング力、実務で通用しますか?
以下のようなお悩みに1つでも当てはまる場合、無料のメール講座をお受け取りください。
- 模写はできるようになってきたけど、実務に通用するか不安
- ポートフォリオに悩んでいる・載せる実績がない
- 案件に挑戦したいけど、自信がなくて一歩踏み出せない
今登録すると、特典PDFとして、『コーディング中級者が案件獲得前にやるべきこと8選』をプレゼント中です。
コーディングを仕事にしていきたい方へ
Codejump Proでは、実際の案件をモデルにした仮想案件で実務レベルのスキルと経験を身につけていきます。
- ポートフォリオに載せる実績がない・・・
- 実務経験がゼロ・・・
- 案件獲得に不安がある・・・
1つでも当てはまる場合は、今すぐ実務レベルの案件をスタートしてみてください。
現場レベルのスキルを身につけたい方へ
現場レベルのコーディングスキルを身につけたい方は、書籍『HTML&CSS Webデザイン 現場レベルのコーディング・スキルが身につく実践入門』(出版社:技術評論社)がおすすめです。
本書は、入門編から実践編の6つのWebサイト制作を通して、現場で必要なコーディングスキルをステップアップしながら1冊で身につけていきます。
- 第1章【入門編】プロフィールサイト〜フレックスボックス
- 第2章【初級編】ブランドサイト〜ポジション
- 第3章【中級編】サービスサイト〜複数ページ
- 第4章【上級編】カフェサイト〜複数レイアウト
- 第5章【応用編】ランディングページ〜動きのあるWebサイト
- 第6章【実践編】コーポレートサイト〜実務を想定したWebサイト制作
現場レベルのコーディングスキルを身につけたい方は、こちらの書籍を一通り学習した後、Codejumpの練習課題に取り組むと効率良く学習できます。







