使い方
- 列(トラックのサイズ)と行(トラックのサイズ)を入力します。2列の場合、200px 1frは、固定のサイドバーと柔軟なメインの領域を作ります。
- 列の間隔(px)と行の間隔(px)を設定し、コンテナーにクラス名を付けます。
- 塗る領域の名前に名前を入力し、塗るを選んだままで、その領域に属するセルをクリックします。セルを消すには消すを選びます。
- CSSの枠をコピーするか、プレビューを確かめてから、ルールをスタイルシートに貼り付けます。
トラックのサイズとrepeat()
各トラックは格子の中のサイズです。pxや%で表す長さ、残りの空間を数に応じて分け合う柔軟なサイズのfr、auto、min-content、max-contentのいずれかです。minmax(最小, 最大)は、トラックに範囲を与えます。CSS Grid Layout仕様(英語)に、それぞれのサイズの決め方が示されています。
repeat(3, 1fr)は、同じトラックを3回書きます。repeat(auto-fill, minmax(200px, 1fr))は、箱の幅に収まるだけのトラックを作ります。その数は箱によって決まるため、auto-fillまたはauto-fitの繰り返しのすべてのトラックには固定サイズが必要で、そこに名前付きの領域は描けません。
grid-template-columns: 200px 1fr; grid-template-rows: auto 1fr auto; gap: row-gap column-gap;
名前付きの領域
grid-template-areasプロパティは、格子の行ごとに1つの文字列を受け取ります。文字列の中の名前は、その行のセルで、ピリオドは、どの領域にも属さないセルを表します。ブラウザはL字形や二つに分かれた塊に名前を置けないので、各名前は一つの長方形を埋めなければなりません。
名前は、コンテナーによって格子上に配置され、各子要素はgrid-areaで自分の位置を取ります。このツールは名前ごとに1つのルールを書くので、そのクラスをもつ要素はそのセルを埋めます。
- トラックの行ごとに名前の行を一つ使い、どの行も名前の数を同じにします。
- ヘッダー、サイドバー、メインなど、ページの部分を表す名前を選んでください。ルールはその名前をクラスとして書かれるからです。
計算例:ヘッダー、サイドバー、本文、フッターのあるページ
既定のレイアウトは、200pxと柔軟な1frの2列と、3行(ヘッダーはauto、中央は1fr、フッターはauto)です。間隔は縦横とも16pxです。ヘッダーは両方の列にまたがり、サイドバーとメインの内容は中央の行を分け合い、フッターは下部で両方の列にまたがって塗られます。
CSSは .layout { display: grid; grid-template-columns: 200px 1fr; grid-template-rows: auto 1fr auto; gap: 16px; } で始まり、続いて3行のgrid-template-areas、"header header"、"sidebar main"、"footer footer" が書かれます。各名前はgrid-areaをもつ独自のルールを持つので、ヘッダーの要素は最初の行を埋めます。
よくある質問
frとautoの違いは何ですか?
frのトラックは、固定のトラックを除いた残りの空間を、数に応じて分け合います。そのため1fr 2fr では、2つめのトラックは1つめの2倍の幅になります。autoのトラックは内容が必要とする幅になり、余った空間を分け合います。
auto-fillのトラックの上に領域を塗れないのはなぜですか?
auto-fillとauto-fitは箱の幅からトラックの数を決めるので、編集中はセルの数が分かりません。名前付きの領域には数の固定が必要なので、領域を塗るときはauto-fillかauto-fitを外すよう求めます。
領域ごとに独自のルールがあるのはなぜですか?
grid-template-areasは名前を格子に配置しますが、各項目はどのセルを埋めるかをまだ示す必要があり、それをgrid-areaが行います。このツールは、同じ名前のクラスを使って、名前ごとに1つのルールを書きます。
塗らなかったセルはどうなりますか?
どの領域にも属さないセルは、grid-template-areasではピリオドと書かれます。名前付きの領域はそのセルに何も配置しないので、別の方法で項目を置かない限り空のままになります。
どのブラウザがCSSグリッドに対応していますか?
CSSグリッドは、現在の主要なブラウザがすべて対応しています。古いバージョンの利用者がいる場合は、名前付きの領域に頼る前に、そのバージョンでレイアウトを確かめてください。
レイアウトは送信されたり保存されたりしますか?
いいえ。格子、プレビュー、CSSはブラウザの中で作られます。何も保存もサーバーへの送信もされないので、ページを離れる前にCSSをコピーしてください。
出典
- W3C(英語):CSS Grid Layout Module Level 1
- W3C(英語):CSS Grid Layout Level 1, grid-template-areas
- W3C(英語):CSS Gaps Module Level 1, the gap shorthand
- MDN(英語):grid-template-areas
数値と文章の最終確認日:2026年11月10日火曜日。