ログイン
問題51

gridレイアウトの基礎

gridレイアウトとは、コンテナーとなる親要素を縦横の2次元のグリッドに分割し、その中で子要素の配置を管理します。それに対しflexは縦か横の1次元で子要素を管理します。違いを理解した上で使い分けていきましょう。

アイコン画像

問題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¥
            

コメントのアイコン解説

gridレイアウトを理解し使用すれば高度なデザインでも
簡単なソースでレイアウトを組めます。

ちなみにgridのプロパティを付与するのは
親要素に対してあてていきます。
今回のような2×2の要素の際まずはdisplay: grid;を付与します。

次にgrid-template-rowsで1行目と2行目の高さを決定します。
次にgrid-template-columnsで各行の幅を決めていきます。
今回は1行目のみに200px付与しております。

1frと宣言しているのは「残りの幅」という事になります。
ログインして解答を見る

コメントのアイコン補足

1frのfrはと、fraction(分数の意味)のことで、gridレイアウトのためだけに誕生した新しいサイズの単位です。

例えばgrid-template-columns: 1fr 1fr 1fr;のように記述すると
枠に合うサイズの大きさのグリッドが3つ配置されます。2frだと1frの2倍の大きさだと認識します。
1.HTMLの宣言をしてみよう
続きの動画を見たい方は公式LINEから「HTML」と送信すると動画が見れます。
HTML_CSSを学ぶなら現役エンジニア監修「甲賀コース」
キャンペーン

閉じる