grid-rowプロパティ
grid-rowプロパティは、
グリッド(格子状レイアウト)内の要素の
行方向の開始位置と終了位置を設定します。プロパティの値は、
スラッシュで区切られた正または負の数値で指定します。
最初の数値は要素の開始位置を示し、2番目の数値は終了位置を示します。
正の数値を値として指定すると、
要素の位置は上から下に向かって数えます。
負の数値を指定すると、要素は逆の順序で配置されます。
つまり、下から上に向かって配置されます。
構文
セレクタ {
grid-row: 開始位置 / 終了位置;
}
例
グリッド内の要素の開始位置と終了位置を設定してみましょう:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
</div>
#parent {
display: grid;
padding: 10px;
border: 2px solid #696989;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-row: 1 / 2;
}
#elem2 {
grid-row: 2 / 3;
}
#elem3 {
grid-row: 3 / 4;
}
:
例
grid-rowプロパティに
負の数値を指定してみましょう:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
</div>
#parent {
display: grid;
padding: 10px;
border: 2px solid #696989;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-row: -1 / -2;
}
#elem2 {
grid-row: -2 / -3;
}
#elem3 {
grid-row: -3 / -4;
}
:
例
最初のブロックが2つの行を占有するようにします:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
</div>
#parent {
display: grid;
grid-template-columns: 2fr 1fr;
height: 300px;
width: 400px;
padding: 10px;
border: 2px solid #696989;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-row: 1 / 3; /* 2行 */
}
#elem2 {
grid-row: 1 / 2;
}
#elem3 {
grid-row: 2 / 3;
}
:
例
次に、4番目のブロックに3つの行を割り当ててみましょう:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
</div>
#parent {
display: grid;
grid-template-columns: 2fr 1fr;
height: 300px;
width: 400px;
padding: 10px;
border: 2px solid #696989;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-row: 1 / 2;
}
#elem2 {
grid-row: 2 / 3;
}
#elem3 {
grid-row: 3 / 4;
}
#elem4 {
grid-row: 1 / 4;
}
:
例
grid-rowプロパティと
grid-columnプロパティを組み合わせてみましょう:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
</div>
#parent {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
border: 2px solid #696989;
padding: 10px;
height: 300px;
width: 400px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-row: 1 / 3;
}
#elem2 {
grid-row: 1 / 2;
}
#elem3 {
grid-row: 1 / 2;
}
#elem4 {
grid-row: 2 / 3;
grid-column: 2 / 4;
}
:
例
次に、1番目と5番目のブロックが行全体を占め、 2番目のブロックが2つの行と2つの列を占め、 3番目と4番目のブロックが1つの行と2つの列を占めるように設定してみましょう:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
<div id="elem5">5</div>
</div>
#parent {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
border: 2px solid #696989;
padding: 10px;
height: 300px;
width: 400px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-row: 1 / 2;
grid-column: 1 / 4;
}
#elem2 {
grid-row: 2 / 4;
grid-column: 1 / 2;
}
#elem3 {
grid-row: 2 / 3;
grid-column: 2 / 4;
}
#elem4 {
grid-row: 3 / 3;
grid-column: 2 / 4;
}
#elem5 {
grid-row: 4 / 5;
grid-column: 1 / 4;
}
:
関連項目
-
グリッド内の要素の列方向の開始位置と終了位置を設定する
grid-columnプロパティ -
グリッド内の要素の行方向の開始位置を設定する
grid-row-startプロパティ -
グリッド内の要素の行方向の終了位置を設定する
grid-row-endプロパティ