紹介
- CSS Gridは2017年からすべての主要ブラウザでサポートされている
- しかし2024年になっても、依然として多くの人が
grid-template-areas 機能を使っていない
- この記事では、
grid-template-areas のシンプルさと強力さを説明する
CSS の名前付きグリッド領域
- CSS Gridでは各グリッド領域に名前を付け、CSS全体で参照できる
- たとえば、2つの列を持つグリッドレイアウトを定義し、各項目に
grid-area を割り当てられる
グリッドテンプレート領域のルール
- 定義された領域は長方形でなければならない
- すべての領域が定義されていなければならない
グリッドテンプレート構文
grid-template-areas プロパティを使ってグリッド領域を定義する必要がある
- 複数の領域文字列を使える
- 単一の文字列は1次元レイアウトを意味し、複数の文字列は多次元レイアウトを意味する
CSS の名前付きグリッドライン
- グリッドラインに固有の名前を付けられる
- たとえば、3列のグリッドで各ラインに名前を付けられる
- 名前付きグリッドラインは既定のライン番号を置き換えるものではない
グリッドテンプレート領域のユースケース
- グリッド方向の反転:
grid-template-areas を使うことでレイアウトの向きを簡単に変更できる
- ヘッダーレイアウト:
grid-template-areas を使ってヘッダーレイアウトを定義し、レスポンシブにできる
- 編集レイアウト: さまざまなコンテンツタイプを含むレイアウトを簡単に定義・変更できる
条件付きレイアウトと CSS :has()
- CSS
:has() セレクタを使って、要素の有無に応じてレイアウトを変更できる
多言語対応(LTR/RTL)
- CSS Gridはページの方向(LTR または RTL)に応じてレイアウトを調整する
- これは名前付きグリッド領域もページの方向に従うことを意味する
グリッド領域と DevTools
- すべての主要ブラウザはグリッド領域向けの優れたツールを提供している(Chrome、Safari、Firefox)
- 各ブラウザでグリッド領域を可視化する方法は異なる
GN⁺ のまとめ
- CSS Grid の
grid-template-areas 機能は、レイアウトを視覚的に理解し管理するのに役立つ
- 特にチームメンバーがレイアウトを変更する必要があるときに有用である
- この記事は
grid-template-areas のシンプルさと強力さを説明し、より多くの人がこの機能を使うよう促すことを目的としている
- 類似した機能を提供する別のプロジェクトとしては Flexbox がある
1件のコメント
Hacker Newsのコメント
アニメーションのデモには興味を引かれたが、CSSで実装されたものではなかった
この記事はGridの利点とCSS構文の煩雑さを強調している
1/3は分数ではなく、1から3までの範囲を意味する1..3)Grid GardenとFlexbox Froggyについて
GridもFlexboxも理解できていなかった
この文書の入門的な紹介版があるのか気になる
line numberが何なのか理解できなかった1/3や1/4のような分数で詰まってしまったJen SimmonsのMondrian with auto flowを強く勧める
構文を
1/2や3/4で定義する理由が気になる1-2や1->2のような構文のほうが理解しやすそうだインタラクティブなブログ記事が好きだ
初めてCSS Gridを理解できた気がする