CSSのgrid-column-gapプロパティの使い方を徹底解説
CSSでグリッドレイアウトを作成する際、列と列の間に余白(ギャップ)を設けたいケースはよくあります。そんなときに活躍するのが grid-column-gap プロパティです。このプロパティを使えば、グリッドコンテナ内の各列の間隔を簡単に指定できます。
grid-column-gapプロパティとは
grid-column-gap は、CSS Gridレイアウトにおいて列同士の間隔(溝:ガター)を設定するためのプロパティです。値には px や % などの長さの単位を指定します。なお、現在では後述の column-gap への置き換えが推奨されていますが、多くのブラウザで引き続き動作します。
基本的な使い方
以下のコードは、display: grid; を指定したコンテナに対して grid-column-gap: 20px; を適用し、各要素(セル)の間に20pxの余白を作る例です。
サンプルコード
<!DOCTYPE html>
<html>
<head>
<style>
.container {
display: grid;
background-color: green;
grid-template-columns: auto auto;
padding: 20px;
grid-column-gap: 20px;
}
.ele {
background-color: orange;
border: 2px solid gray;
padding: 35px;
font-size: 30px;
text-align: center;
}
</style>
</head>
<body>
<h1>Game Board</h1>
<div class="container">
<div class="ele">1</div>
<div class="ele">2</div>
<div class="ele">3</div>
<div class="ele">4</div>
<div class="ele">5</div>
<div class="ele">6</div>
</div>
</body>
</html>
コードのポイント
display: grid;… コンテナをグリッドレイアウトとして定義します。grid-template-columns: auto auto;… 2つの列を自動幅で作成します。grid-column-gap: 20px;… 列の間に20pxの余白を設定します。- 各要素(.ele)には背景色やボーダーを付けて、ギャップが視覚的にわかるようにしています。
このコードを実行すると、緑色の背景を持つグリッドコンテナの中にオレンジ色のセルが並び、列の間だけが20px空いた状態で表示されます。
column-gapへの置き換えについて
grid-column-gap はかつての仕様における名称で、現在のCSS仕様では column-gap プロパティが標準となっています。また、行方向の余白もまとめて指定したい場合は、ショートハンドプロパティの gap を使うのが便利です。
/* 列の間隔のみ指定 */
.container {
column-gap: 20px;
}
/* 行と列の間隔をまとめて指定 */
.container {
gap: 10px 20px; /* 行 10px / 列 20px */
}
新しいプロジェクトでは gap や column-gap の使用を検討するとよいでしょう。
-
CSSのgrid-column-startプロパティの使い方を解説
CSSのgrid-column-startプロパティを使うと、グリッドアイテムがどの列から配置されるか(開始位置)を指定できます。グリッドレイアウトでアイテムの位置を細かく制御したい場合に非常に便利なプロパティです。grid-column-startプロパティとはgrid-column-startは、グリッドコンテナ内のアイテムの列方向の開始位置を決めるプロパティです。値にはグリッドラインの番号を指定します。例えば「2」を指定すると、アイテムは2番目のグリッドライン(つまり1列目と2列目の間の線)から配置されます。主な指定方法数値で指定: grid-column-start: 2; のように、
-
CSSグリッドのgapプロパティで行と列の間隔を設定する方法
CSS Gridレイアウトでは、gapプロパティ(旧称:grid-gap)を使うことで、グリッドの行と列の間に余白(ギャップ)を簡単に設定できます。マージンやパディングを個別に調整する必要がなく、レイアウト全体の間隔を一括で管理できるのが大きなメリットです。 gapプロパティの基本 gapプロパティには、次のように1つまたは2つの値を指定できます。 値が1つの場合: 行と列の両方に同じ間隔が適用されます(例:gap: 20px;) 値が2つの場合: 1つ目が行間(row-gap)、2つ目が列間(column-gap)になります(例:gap: 20px 20px;) なお、grid-gapは