
問題51:gridレイアウトの基礎
display: grid;を使用して
画像を参考に実装してみましょう!
画像を参考に実装してみましょう!
あらかじめエディタに書くコード
<section>
<div></div>
<div></div>
<div></div>
<div></div>
</section>
¥HTML¥
期待する画面

解答ソースコード
<section>
<div></div>
<div></div>
<div></div>
<div></div>
</section>
¥HTML¥
section {
width: 400px;
display: grid;
grid-template-rows: 100px 100px;
grid-template-columns: 200px 1fr;
}
div {
background-color: red;
}
div:nth-child(2) {
background-color: green;
}
div:nth-child(3) {
background-color: yellow;
}
div:nth-child(4) {
background-color: blue;
}
¥CSS¥
補足
1frのfrはと、fraction(分数の意味)のことで、gridレイアウトのためだけに誕生した新しいサイズの単位です。
例えばgrid-template-columns: 1fr 1fr 1fr;のように記述すると
枠に合うサイズの大きさのグリッドが3つ配置されます。2frだと1frの2倍の大きさだと認識します。
例えばgrid-template-columns: 1fr 1fr 1fr;のように記述すると
枠に合うサイズの大きさのグリッドが3つ配置されます。2frだと1frの2倍の大きさだと認識します。
#忍者CODE無料問題集で活動を記録しよう
完了にする!
1.HTMLの宣言をしてみよう
簡単なソースでレイアウトを組めます。
ちなみにgridのプロパティを付与するのは
親要素に対してあてていきます。
今回のような2×2の要素の際まずはdisplay: grid;を付与します。
次にgrid-template-rowsで1行目と2行目の高さを決定します。
次にgrid-template-columnsで各行の幅を決めていきます。
今回は1行目のみに200px付与しております。
1frと宣言しているのは「残りの幅」という事になります。