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は古い仕様での名称で、現在のCSSではrow-gapとcolumn-gapの一括指定としてgapを使用するのが推奨されています。ただし、古いブラウザとの互換性を考慮してgrid-gapが使われることもあります。
実装例
以下のコードでは、2列のグリッドを作成し、gapプロパティで行・列それぞれに20pxの間隔を設定しています。実際にコードを実行して動作を確認してみてください。
<!DOCTYPE html>
<html>
<head>
<style>
.container {
display: grid;
background-color: green;
grid-template-columns: auto auto;
padding: 20px;
gap: 20px 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列構成になります。gap: 20px 20px;によって、行間・列間ともに20pxの余白が生まれます。- 各要素(
.ele)にはオレンジ色の背景とグレーの枠線を付け、グリッドの間隔が視覚的にわかりやすくなっています。
このようにgapプロパティを使えば、複雑なマージンの相殺を気にすることなく、きれいで均等な間隔のグリッドレイアウトを実現できます。カード型レイアウトやギャラリー表示など、さまざまな場面で活用できるので、ぜひ覚えておきましょう。
-
CSSのalign-contentプロパティにflex-start値を指定する方法
CSSのalign-contentプロパティに値flex-startを指定すると、フレックスコンテナ内の複数行のアイテムをコンテナの先頭(開始位置)に寄せて配置できます。この値は、flex-wrap: wrap;などによってフレックスアイテムが複数行に折り返されている場合に有効になります。各行は互いに詰められ、クロス軸方向の開始側にまとめて配置されます。使用例以下のコードを実行すると、align-content: flex-start;の動作を確認できます。<!DOCTYPE html> <html> <head> &nb
-
CSSのgrid-column-startプロパティの使い方を解説
CSSのgrid-column-startプロパティを使うと、グリッドアイテムがどの列から配置されるか(開始位置)を指定できます。グリッドレイアウトでアイテムの位置を細かく制御したい場合に非常に便利なプロパティです。grid-column-startプロパティとはgrid-column-startは、グリッドコンテナ内のアイテムの列方向の開始位置を決めるプロパティです。値にはグリッドラインの番号を指定します。例えば「2」を指定すると、アイテムは2番目のグリッドライン(つまり1列目と2列目の間の線)から配置されます。主な指定方法数値で指定: grid-column-start: 2; のように、