Cascading Style Sheets grid-template-rows property.
grid-template-rowsプロパティは、グリッドトラックの縦方向のサイズリストを指定する際に使用します。グリッドトラックとは、隣接する2本のグリッドラインで区切られた間に生じるスペースのことです。
grid-template-rowsプロパティは、このグリッドトラック群に対して縦方向の長さのリストを指定します。長さのリストは、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;
grid-template-columns: [first nav-start] 150px [main-start] 1ft [last];
grid-template-rows: [first header-start] 50px [main-start] 1ft [footer-start] 50px [last];
HTML source
<div class="sample1">
<div>①</div>
<div>②</div>
<div>③</div>
<div>④</div>
<div>⑤</div>
<div>⑥</div>
<div>⑦</div>
<div>⑧</div>
<div>⑨</div>
</div>
CSS source
.sample1 {
display: grid;
grid-template-rows: 80px 100px 40px;
}
.sample1 div {
margin: 4px;
padding: 4px;
background-color: green;
}
Sample 1だとちょっとわかりづらかったのですが、こちらの Sample 2ではわかりやすいと思いますが、grid-template-rowsプロパティの値を3つしか指定していないので、当然ですが3番目の div要素までにしか値が適用されていません。
HTML source
<div class="sample2">
<div>①</div>
<div>②</div>
<div>③</div>
<div>④</div>
<div>⑤</div>
<div>⑥</div>
<div>⑦</div>
<div>⑧</div>
<div>⑨</div>
</div>
CSS source
.sample2 {
display: grid;
grid-template-rows: 40px 100px 60px;
}
.sample2 div {
margin: 4px;
padding: 4px;
background-color: green;
}
grid-template-rowsプロパティは、単独で使うよりも grid-template-columnsプロパティと組み合わせて使うことの方が多いのかもしれません。
HTML source
<div class="sample3">
<div>①</div>
<div>②</div>
<div>③</div>
<div>④</div>
<div>⑤</div>
<div>⑥</div>
<div>⑦</div>
<div>⑧</div>
<div>⑨</div>
</div>
CSS source
.sample3 {
display: grid;
grid-template-rows: 80px 100px 40px;
grid-template-columns: 50px 100px 40px;
}
.sample3 div {
margin: 4px;
padding: 4px;
background-color: green;
}