CSS Gridのgap(ギャップ)とは?行と列の間隔を指定する方法を解説
CSS Gridのギャップ(Grid Gap)とは
CSS Gridレイアウトにおいて、行と列の間にできるスペースのことを「グリッドギャップ(Grid Gap)」と呼びます。下図のように、各セル同士の間に余白を設けることで、要素同士が密着せず、見やすく整ったレイアウトを作ることができます。

ギャップを指定するプロパティ
グリッドの間隔は、以下の3つのプロパティで制御できます。
1. row-gap(行間のギャップ)
行と行の間のスペースを指定します。
.container {
display: grid;
row-gap: 20px;
}
2. column-gap(列間のギャップ)
列と列の間のスペースを指定します。
.container {
display: grid;
column-gap: 30px;
}
3. gap(ショートハンド)
row-gap と column-gap をまとめて指定できる省略形のプロパティです。
.container {
display: grid;
gap: 20px 30px; /* 行 20px、列 30px */
}
値を1つだけ指定した場合は、行・列ともに同じ間隔が適用されます。
.container {
display: grid;
gap: 24px; /* 行・列ともに 24px */
}
marginとの違い
従来は要素間の余白を作るために margin を使うことが一般的でしたが、Gridの gap を使うと以下のようなメリットがあります。
- 最初や最後の要素に余分なマージンが付かないため、調整が不要になる
- コンテナ側で一括管理できるため、コードがシンプルになる
- Flexboxでも同じ
gapプロパティが使えるため、記述方法を統一できる
対応ブラウザについて
かつては grid-row-gap や grid-column-gap といった接頭辞付きの名称が使われていましたが、現在はすべてのモダンブラウザで row-gap・column-gap・gap がサポートされています。新規のコーディングでは、標準的な gap プロパティを使用するのがおすすめです。
まとめ
CSS Gridのギャップは、行と列の間隔を簡単かつ柔軟に設定できる便利な機能です。gap プロパティを活用すれば、marginの個別調整の手間を省き、保守性の高いレイアウトを実現できます。ぜひ日頃のコーディングに取り入れてみてください。
-
CSSとJavaScriptで拡張グリッド(クリックで展開するグリッド)を作成する方法
CSSとJavaScriptを組み合わせることで、カードをクリックすると詳細パネルが展開される「拡張グリッド(Expanding Grid)」を簡単に実装できます。本記事では、3カラム構成のグリッドを例に、具体的な実装手順をわかりやすく解説します。 実装のポイント クリックイベント:各カラムにonclick属性を設定し、クリックされたカラムに対応するタブを開きます。 表示の切り替え:新しいタブを開く前に既存のタブをすべて非表示にすることで、常に1つのタブだけが展開された状態を保ちます。 閉じるボタン:タブ右上の「×」ボタンをクリックするとパネルが閉じ、元のグリッド表示に戻ります。 サンプル
-
CSSで4列のレイアウトグリッドを作成する方法
CSSで4列のレイアウトグリッドを作成するには、各カラムとなる要素に float: left; を指定し、幅を 25% に設定するのが基本的な手法です。これにより、4つの要素が横一列に均等に並びます。以下に具体的なコード例を示します。 サンプルコード <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style> body {