2025 grid 05 - izudon/izudon.github.io GitHub Wiki
“grid-template-columns / rows” の 線に名前を付ける機能
grid-template-columns:
[sidebar-start] 200px
[sidebar-end main-start] 1fr
[main-end];-
線番号を覚えずに
sidebar-start / sidebar-endのように書ける - 1本の線に複数の名前を付けてもよい
.sidebar { grid-column: sidebar-start / sidebar-end; }
.main { grid-column: main-start / main-end; }👉 大規模レイアウトで可読性が爆増。
行・列・領域を “1つの宣言” でまとめる最上位構文
grid-template:
"header header" 80px
"sidebar main" 1fr
"footer footer" 60px
/ 200px 1fr;これは以下のまとめ:
grid-template-areasgrid-template-rowsgrid-template-columns
.header { grid-area: header; }
.main { grid-area: main; }
.sidebar { grid-area: sidebar; }
.footer { grid-area: footer; }👉 レイアウトが 見たまま コードになる。 👉 PC/SP 切替も テンプレートを書き換えるだけで完了。
grid-area: main;→ "main" と名のつく矩形領域へ配置。
grid-area: 1 / 2 / 4 / 5; row-start / col-start / row-end / col-end-
spanや-1(最後から)も使える
👉 直接位置を指定する最強の短縮記法。
Grid Level 2 の目玉。 子グリッドが親の行線・列線をそのまま使える。
.child {
display: grid;
grid-template-rows: subgrid;
grid-template-columns: subgrid;
}複数カードの
-
<header>の高さ -
<section>の開始位置 -
<footer>の位置
を カード間で完全にそろえる。
subgrid なし → header/section/footer がバラバラにズレる
subgrid あり → 親の行線を共有し「段」がぴたりと揃う
親:200px | 1fr | 2fr
子:subgrid
孫:subgrid
→ 全階層で 同じ列幅 が使われる → ダッシュボード、表、レイアウトフレームで超有効
- 子の高さ/幅は
auto的である必要がある - gap も親の値を継承
- 自動配置(auto-flow)は部分的に制限あり
- 2025 現在:主要ブラウザはほぼ対応済み
■ line naming → 線に意味を持たせる(sidebar-start など)
■ grid-template → 行・列・領域をまとめて視覚的に書く
■ grid-area → 名前 or 4値でアイテム配置
■ subgrid → 親の線構造を子へ継承し、段揃えや階層統一を実現
👉 Ⅴ全体は「レイアウト全体の構造化・命名・統一」がテーマ 👉 大規模 UI/PC-SP 切替/カード整列に特に重要