



grid-template-columnsプロパティは、グリッドトラックの横方向のサイズリストを指定する際に使用します。
グリッドトラックとは、隣接する2本のグリッドラインで区切られた間に生じるスペースのことです。

grid-template-columnsプロパティは、このグリッドトラック群に対して横方向の長さのリストを指定します。
長さのリストは、pxなどの単位を付けた数値や%値などを半角スペース区切りにします。
grid-template-rows: 80px 100px 40px;
grid-template-columns: 50px 100px 40px;
グリッドレイアウト全体のサイズは、トラックサイズの純粋な合計になるとは限りません。
row-gapプロパティ、
column-gapプロパティ、
justify-contentプロパティ、
align-contentプロパティ
などの指定次第で、追加スペースが加算されたものとなります。
尚、グリッドレイアウトの指定は、グリッドコンテナに対して適用されます。
グリッドコンテナとは、displayプロパティの値に grid または inline-grid が適用された要素のことです。
グリッドコンテナ直下の子要素は、グリッドレイアウトを指定可能なグリッド要素となります。
display: grid;
■値
- none
- 明示的なグリッドトラックは作成されない(初期値)
- トラックリスト
-
半角スペース区切りでトラックリストを指定。トラックリストには、長さを表す数値、%値、フレックス係数、キーワード、関数、グリッド名、などを指定できる。
- 長さを表す数値 … 正の数値にpxなどの単位を付けて指定
- %値 … グリッドコンテナに対する%値で指定
- fr … 正の数値にフレックス係数を表す単位frをつけて指定
- max-content … 内容に合わせた最大値となる
- min-content … 内容に合わせた最小値となる
- minmax(min, max) … minmax()関数で最小値と最大値を指定
- fit-content() … fit-content()関数で内容に合わせたサイズとなるよう指定
- repeat() … repeat()関数で繰り返しパターンを指定
- [グリッド名] … グリッドに名前を付けて、そのグリッド名で指定することができます。
例えば、
grid-template-columns: [first nav-start] [main-start] [last];
や、
grid-template-rows: [first header-start] [main-start] [footer-start] [last];
といった具合です。
w3.orgに掲載されている図がわかりやすいでしょう。
■初期値・適用対象・値の継承
- 初期値
- none
- 適用対象
- グリッドコンテナ
- 値の継承
- しない
■使用例1
CSSソースは外部ファイル(sample.css)に記述
div.sample1 {
display: grid;
grid-template-columns: 50px 100px;
}
div.sample1 div {
margin:4px; border-radius:4px;
background-color:#66cc99;
}
HTMLソース
<div class=”sample1″>
<div>一</div>
<div>ニ</div>
<div>三</div>
<div>四</div>
<div>五</div>
<div>六</div>
<div>七</div>
<div>八</div>
<div>九</div>
</div>
ブラウザ上の表示
■使用例2
CSSソースは外部ファイル(sample.css)に記述
div.sample2 {
display: grid;
grid-template-rows: 80px 100px 40px;
grid-template-columns: 50px 100px 40px;
}
div.sample2 div {
margin:4px; border-radius:4px;
background-color:#66cc99;
}
HTMLソース
<div class=”sample1″>
<div>一</div>
<div>ニ</div>
<div>三</div>
<div>四</div>
<div>五</div>
<div>六</div>
<div>七</div>
<div>八</div>
<div>九</div>
</div>