「CSSグリッド」とは?基礎と使い方を解説
Webデザインを学び始める人が最初に立ちはだかる壁が、段組としてのレイアウトです。
Webデザインの黎明期は、TABLEレイアウト、そしてfloatを使った回り込みレイアウトが主流でした。しかし、TABLEレイアウトは読み込み時間が長くなる傾向になり、floatを使ったデザインはブラウザによっては回り込みがうまくいかず、段組が崩れてしまうなど、初心者を悩ませる問題がたくさんあったのです。
そこで2012年頃から登場したのが、Flexboxを使ったレイアウトです。それまでにさまざまなCSSフレームワークが登場し、多くのフロントエンドエンジニアやWebデザイナーはfloatでのレイアウトの問題を解決するためにこうしたフレームワークを活用していました。
しかし、Flexboxでのレイアウトも、場合によってはレイアウトがはみ出してしまうことがあったりと、万能ではありませんでした。その問題を解決する新しい選択肢が、**「CSSグリッド」**なのです。
そこで今回は、今までのレイアウトの概念とは一線を画す「CSSグリッド」レイアウトの基礎を、まとめました。Flexboxの代替としてCSSグリッドが語られることが多いですが、本質的なレイアウト手法は全く異なったものなので、改めておさらいをしておきましょう。
「回り込み」、レスポンシブデザイン、そしてFlexboxの登場。
Foundation / スクリーンショット:2017年9月
まずは、「CSSグリッド」について触れる前に、いままで主流だったFlexboxを使ったレイアウトに関して、その特徴をみておきましょう。
2012年前後のWebデザインの世界では、Twitter社の*「Bootstrap」やZurb社の「Foundation」など、レイアウトを解決するためのさまざまなフレームワークが脚光を浴びていました。しかし、こうしたフレームワークは、あくまでも古い技術を組み合わせてパッケージ化しているにすぎず、回り込みを最適化するグリッドシステムも段組を行うための一時的な措置にしか過ぎなかった*のです。
そこで注目を浴びたのが、Flexboxを使ったレイアウトです。グリッドシステムを使わなくとも、CSS3とHTML5で直接段組を行うことができるようになったのです。
Flexbox自体はそれ以前から存在していましたが、仕様が何度も変わってしまって、使いにくいものでした。しかし、2012年9月にようやく仕様が固まってきました。また、時代背景として、レスポンシブデザインが非常に注目を浴びた時期でもあったので、レスポンシブデザインとの相性がよかったのもFlexbox普及の起爆剤だったと言われています。
Flexboxのベースも「回り込み」操作
Flexboxは、本来的な名前を*「Flexible Box Layout Module」*と言います。その名の通り、(インライン要素ではなく)ボックス要素を並べ、フレキシブルに回り込みを制御することができる画期的な仕様です。
Flexboxを理解する上で重要なのは、親要素と子要素を分けて考えることです。Flexboxを適用する範囲を決めて、その中で並び替えを行うので、親要素であるFlexboxコンテナーの中で子要素であるFlexboxアイテムが回り込みを制御される形になります。
筆者作成
親要素のFlexboxコンテナーでは、flex-directionで子要素の配置方向を横方向・縦方向などに指定することができたり、flex-wrapで折り返し位置を指定したりすることができます。また、justify-contentで子要素を揃えたり、align-itemsで子要素の高さやベースラインを指定することも可能です。
よくある*聖杯レイアウト(Holy Grail Layout)*も、Flexboxは簡単にレイアウトできます。聖杯レイアウトとは、上方にヘッダー、下方にフッター、中部左右にナビゲーションを配置して真ん中にコンテンツを置く、20世紀後半に主流だった典型的な段組のことです。
筆者作成
上の図の聖杯レイアウトで言えば、中央部分にFlexコンテナーを配置し、メディアクエリでflex-directionなどを操作するだけで、簡単にスマートフォン対応のレスポンシブデザインを実装することができます。
これだけ読むだけでも、多くの方が*「Flexboxはすごい!」と思っていただけると思います。ただし、繰り返すように、Flexboxは要素の「回り込み」を自由自在に扱うものであり、まれにword-wrap: break-word;*などの影響を受けて、子要素であるボックスの中身によっては回り込みがうまくいかなくなるなど、万能ではありませんでした。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- フレームワーク
- フレームワークとは、アプリケーションソフトを開発する際によく必要をされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのことです。 元々は枠組み、下部構想、構造、組織という意味の英単語です。アプリケーションのひな形であり、これを開発に利用することで、大幅な効率の向上が見込めます。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- Twitterとは140文字以内の短文でコミュニケーションを取り合うコミュニティサービスです。そもそもTwitterとは、「小鳥のさえずり」を意味する単語ですが、同時に「ぺちゃくちゃと喋る」、「口数多く早口で話す」などの意味もあります。この意味のように、Twitterは利用者が思いついたことをたくさん話すことのできるサービスです。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- フレームワーク
- フレームワークとは、アプリケーションソフトを開発する際によく必要をされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのことです。 元々は枠組み、下部構想、構造、組織という意味の英単語です。アプリケーションのひな形であり、これを開発に利用することで、大幅な効率の向上が見込めます。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- ヘッダー
- WEBページの上部スペースに位置し、どのページが開かれても常に共通して表示される部分です。ヘッダーの役割は、まずWEBページを目立たせ、ブランドイメージを訴求することにあります。会社のロゴなども通常はここに置きます。また目次となるメニューを表示し、自分が今どのページにいるかを分からせることもあります。
- ナビゲーション
- ナビゲーションとは、もともと「目的地までの経路」や「道順案内」を意味する英単語です。しかし、インターネットの分野では、ホームページにある主要コンテンツをまとめたリンクを指します。これがあることで、ユーザーは目的のページがどこにあるかを短時間で見つけることができます。また、検索エンジンのクローラー(検索ロボット)に対して、効率的にサイト内を巡回させるという効果もあります。 ナビゲーションには「グローバルナビゲーション」と「ローカルナビゲーション」の二つがあります。
- コンテンツ
- コンテンツ(content)とは、日本語に直訳すると「中身」のことです。インターネットでは、ホームページ内の文章や画像、動画や音声などを指します。ホームページがメディアとして重要視されている現在、その内容やクオリティは非常に重要だと言えるでしょう。 なお、かつてはCD-ROMなどのディスクメディアに記録する内容をコンテンツと呼んでいました。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
おすすめ記事
おすすめエントリー
同じカテゴリから記事を探す
カテゴリから記事をさがす
●Webマーケティング手法
- SEO(検索エンジン最適化)
- Web広告・広告効果測定
- SNSマーケティング
- 動画マーケティング
- メールマーケティング
- コンテンツマーケティング
- BtoBマーケティング
- リサーチ・市場調査
- 広報・PR
- アフィリエイト広告・ASP
●ステップ
●ツール・素材
- CMS・サイト制作
- フォーム作成
- LP制作・LPO
- ABテスト・EFO・CRO
- Web接客・チャットボット
- 動画・映像制作
- アクセス解析
- マーケティングオートメーション(MA)
- メールマーケティング
- データ分析・BI
- CRM(顧客管理)
- SFA(商談管理)
- Web会議
- 営業支援
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング
- フォント
- 素材サイト
●目的・施策
- Google広告
- Facebook広告
- Twitter広告
- Instagram広告
- LINE運用
- LINE広告
- YouTube運用
- YouTube広告
- TikTok広告
- テレビCM
- サイト制作・サイトリニューアル
- LP制作・LPO
- UI
- UX
- オウンドメディア運営
- 記事制作・ライティング
- コピーライティング
- ホワイトペーパー制作
- デザイン
- セミナー・展示会
- 動画・映像制作
- データ分析・BI
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング