富山のシステム開発・Web制作会社

FlexboxとCSS Gridの違いについて調べてみた

こんにちは。
CSSでレイアウトを組むときに、Flexboxが欠かせない存在になっている、satomiです。

現在は display:flex を使ってレイアウトを組むことが多いのですが、
グリッドレイアウトのサイトを調べていたとき display:grid を使っているサイトがあり
違いを調べてみました。

二つの違いについて

ソースコードはそれぞれ「1x」でスマホ、「0.5x」でPCサイトのレイアウトになります。

Flexbox(フレックスボックス)

・特定のレイアウトにするため、HTML構造上不要な親要素を作る必要がある。
・指定方法が単純明快なのでレイアウトを組みやすい。

.asideと.mainの親要素に.wrapがあります。
CSSは各所にマージンの指定などがあります。



CSS Grid Layout(CSSグリッドシステム)

・不要な要素を増やさずに、グリッドレイアウトが組める。
・サイズや余白など1箇所でまとめて指定できる。

.wrapがなくなり、HTMLがシンプルになりました。
また、CSSも設定が一箇所にまとまり見やすくなっていると思います。


「CSS Grid Layout」のお役立ちサイト
https://grid.layoutit.com/
https://griddy.io/

まとめ

2021年9月時点でCSS Grid LayoutはIE11もベンダープレフィックスを使って対応する形となっているようです。Can I use参照

IE11のサポートも2022年6月15日に終了するようなので、
CSS Gridレイアウトを取り入れていこうと思っている方もいらっしゃるのではないでしょうか。

私も少しずつ取り入れて行きたいと思います!以上です、日々勉強!

この記事を書いた人
宮野 聡美
Front-end Engineer

よく読まれている記事

LaravelとFast ExcelでCSVエクスポートする

MARBLEの5ヶ月分のアクセス数を公開

GitHubに接続するプロトコルをSSHからHTTPSに変更する

上海ロックダウンで起きたパニックとは

たったこれだけ!簡単SEO対策!

はじめに知っておきたい、Flutterのデバッグ方法

Googleの検索順位を上げるために行ったこと(2) - PageSpeed Insights -

Googleの検索順位を上げるために行ったこと(1) - Gogoleサーチコンソール -

中国の教育現場を肌で体験してきました!

親日派が多数!中国に浸透してきた日本の「○○○文化」

関連記事

LaravelとFast ExcelでCSVエクスポートする

MARBLEの5ヶ月分のアクセス数を公開

GitHubに接続するプロトコルをSSHからHTTPSに変更する