CSS
 Computer >> コンピューター >  >> プログラミング >> CSS

CSS Gridのgap(ギャップ)とは?行と列の間隔を指定する方法を解説

CSS Gridのギャップ(Grid Gap)とは

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

CSS Gridのgap(ギャップ)とは?行と列の間隔を指定する方法を解説

ギャップを指定するプロパティ

グリッドの間隔は、以下の3つのプロパティで制御できます。

1. row-gap(行間のギャップ)

行と行の間のスペースを指定します。

.container {
  display: grid;
  row-gap: 20px;
}

2. column-gap(列間のギャップ)

列と列の間のスペースを指定します。

.container {
  display: grid;
  column-gap: 30px;
}

3. gap(ショートハンド)

row-gapcolumn-gap をまとめて指定できる省略形のプロパティです。

.container {
  display: grid;
  gap: 20px 30px; /* 行 20px、列 30px */
}

値を1つだけ指定した場合は、行・列ともに同じ間隔が適用されます。

.container {
  display: grid;
  gap: 24px; /* 行・列ともに 24px */
}

marginとの違い

従来は要素間の余白を作るために margin を使うことが一般的でしたが、Gridの gap を使うと以下のようなメリットがあります。

  • 最初や最後の要素に余分なマージンが付かないため、調整が不要になる
  • コンテナ側で一括管理できるため、コードがシンプルになる
  • Flexboxでも同じ gap プロパティが使えるため、記述方法を統一できる

対応ブラウザについて

かつては grid-row-gapgrid-column-gap といった接頭辞付きの名称が使われていましたが、現在はすべてのモダンブラウザで row-gapcolumn-gapgap がサポートされています。新規のコーディングでは、標準的な gap プロパティを使用するのがおすすめです。

まとめ

CSS Gridのギャップは、行と列の間隔を簡単かつ柔軟に設定できる便利な機能です。gap プロパティを活用すれば、marginの個別調整の手間を省き、保守性の高いレイアウトを実現できます。ぜひ日頃のコーディングに取り入れてみてください。

  1. CSSとJavaScriptで拡張グリッド(クリックで展開するグリッド)を作成する方法

    CSSとJavaScriptを組み合わせることで、カードをクリックすると詳細パネルが展開される「拡張グリッド(Expanding Grid)」を簡単に実装できます。本記事では、3カラム構成のグリッドを例に、具体的な実装手順をわかりやすく解説します。 実装のポイント クリックイベント:各カラムにonclick属性を設定し、クリックされたカラムに対応するタブを開きます。 表示の切り替え:新しいタブを開く前に既存のタブをすべて非表示にすることで、常に1つのタブだけが展開された状態を保ちます。 閉じるボタン:タブ右上の「×」ボタンをクリックするとパネルが閉じ、元のグリッド表示に戻ります。 サンプル

  2. CSSで4列のレイアウトグリッドを作成する方法

    CSSで4列のレイアウトグリッドを作成するには、各カラムとなる要素に float: left; を指定し、幅を 25% に設定するのが基本的な手法です。これにより、4つの要素が横一列に均等に並びます。以下に具体的なコード例を示します。 サンプルコード <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style> body {