CSSグリッドジェネレーター

CSS Gridレイアウトを視覚的に構築 · 列、行、ギャップ、整列を設定し、ライブプレビューを表示し、CSSをコピーします。

グリッドプロパティ

プレビュー

生成されたCSS

使い方

  1. グリッドの寸法を定義: レイアウトの列と行の数を入力します。
  2. トラックを定義: fr単位、ピクセル、パーセンテージ、auto、minmax()を使って各列の幅と各行の高さを設定します。
  3. CSSをコピー: 生成されたdisplay: grid、grid-template-columns、grid-template-rows、gapプロパティが、スタイルシートに貼り付ける準備ができています。

なぜCSS Gridジェネレーターを使うのか?

CSS GridはCSSの最も強力なレイアウトシステムです, 以前はテーブル、フロート、JavaScriptが必要だった複雑な2次元レイアウトを作成できます。しかし、grid-template-columns、fr単位、minmax()、repeat()、名前付き領域をマスターするには練習が必要です。このビジュアルジェネレーターを使うと、クリック&ドラッグで任意のグリッドを構築でき、すぐに使用するか、Gridの理解を深めるために学ぶためのクリーンなCSSを生成します。

機能

よくある質問

CSS Gridの「fr」単位とは?

fr(fraction)単位は、利用可能なスペースを比例的に分配します。1fr 2fr 1frの3列グリッドでは、中央の列が外側の列の2倍のスペースを取得します。fr単位は、固定サイズトラックの割り当て後に残りのスペースを共有します。

メディアクエリなしでレスポンシブグリッドを作成するには?

grid-template-columnsの値としてrepeat(auto-fill, minmax(200px, 1fr))を使用します。これにより、最小サイズで許容される列が必要な数だけ作成され、利用可能なスペースを埋めるように拡張されます。コンテナの幅が変わると、項目が自動的に再配置されます。

grid-templateとgrid-autoの違いは?

grid-template-columns/rowsは指定する明示的なトラックを定義します。grid-auto-columns/rowsは暗黙のトラックのサイズを定義します, 項目が明示的なグリッドからオーバーフローしたときに自動的に作成される列と行。

CSS Grid の簡単な歴史

CSS Grid 以前、Web レイアウトは3つの苦痛な時代を経験しました。テーブルベースのレイアウト(1995-2008)は視覚構造のために <table> 要素を悪用し、Photoshop コンプを HTML グリッドに「スライス&ダイス」していました。フロートベースのレイアウト(2008-2013)はテーブルを float プロパティに置き換え、折り返した子要素を含めるために Nicolas Gallagher の micro-clearfix(2011)のような「clearfix」ハックを必要としました。Flexbox(CSS Flexible Box Layout Module Level 1、W3C 勧告 2018)は1次元レイアウトを解決しましたが、真の2次元グリッドには苦戦しました。CSS Grid の物語は Internet Explorer 10(2012)での Microsoft の -ms-grid 実装から始まり、W3C 仕様に情報を与えた初期版でした。CSS Grid Layout Module Level 1 の最初の W3C 公開作業草案は 2011年4月に公開されましたが、本当の勢いは Rachel Andrew(彼女の著書『Get Ready for CSS Grid Layout』、2016)と Jen Simmons(Mozilla デベロッパーアドボケイト、2016-2018年のカンファレンスサーキット)の啓蒙活動から来ました。ブラウザレースは 2017年3月の注目すべき2ヶ月の窓で決着しました:Chrome 57、Firefox 52、Safari 10.1、Edge 16 がすべてお互いから数週間以内にプレフィックスなしの Grid を出荷しました。W3C は 2016年12月に Grid Level 1 を候補勧告としてマークしました;最終的な W3C 勧告2020年8月に到着しました。Subgrid(Level 2)は Firefox 71(2019年12月)、Safari 16(2022年9月)、Chrome 117(2023年9月)で出荷されました。次のフロンティアは提案された Masonry レイアウトです(CSS Working Group 2020年の提案、2021年から Firefox でフラグ越し)。

CSS グリッドの解剖学

実世界の Grid パターン

標準とマイルストーン

その他のよくある質問

Grid と Flexbox はいつ使うべきですか?

コミュニティの略式:Flexbox は1次元、Grid は2次元用です。ボタンの行をレイアウトする場合や単一方向にアイテムを整列する場合は、Flexbox の方がシンプルです。整列する必要のある行と列を持つページ全体のレイアウトを設計する場合は、Grid が正しいツールです。多くの実際のレイアウトは両方を組み合わせます:ページの骨格には Grid、各グリッド領域内のコンポーネントレベルの整列には Flexbox。現代のフレームワーク(Tailwind、Bootstrap 5)はこのパターンを採用しています。

CSS Grid は古いブラウザで動作しますか?

すべてのエバーグリーンブラウザ(Chrome、Firefox、Safari、Edge)は2017年3月以降 Grid をサポートしています。Internet Explorer 11 は初期の -ms-grid 構文のみ(サブセット、プレフィックス付き、多くの機能が欠落)を持っています。IE11 サポートには、@supports クエリを使用して Flexbox またはフロートレイアウトにフォールバックします。2024年時点で、IE11 のグローバル使用率は0.5%未満であるため、ほとんどのチームはフォールバックを廃止しています。Caniuse.com はプレフィックスなしの Grid のグローバルサポートを97%以上と報告しています。

grid-template-areas と grid-area の違いは何ですか?

grid-template-areasグリッドコンテナ に設定され、グリッドの名前付き領域を視覚的にマッピングします(1行に1つの文字列)。grid-areaグリッドアイテム に設定され、それらの名前付き領域のいずれかに割り当てます。両者は一緒に機能します:コンテナが「マップ」を宣言し、アイテムが「私は領域 X です」を宣言します。動的レイアウトに便利な、名前の代わりに行番号(grid-area: 1 / 1 / 3 / 4)で直接 grid-area を使用することもできます。

subgrid とは何で、いつ使うべきですか?

Subgrid は、ネストされたグリッドが独自のものを作成する代わりに、親グリッドのトラック定義を継承することを可能にします。これは、たとえば内部レイアウトが周囲のカードと整列する必要があるカードのように、ネストされたグリッドにわたってアイテムを整列する問題を解決します。ネストされたグリッドで grid-template-columns: subgrid を使用します。Firefox 71+(2019年12月)、Safari 16+(2022年9月)、Chrome 117+(2023年9月)で利用可能です。サポートしていないブラウザでは通常のネストされたグリッドにフォールバックします。

Grid はアクセシビリティとどのように相互作用しますか?

Grid 配置は DOM ソース順を変更しません:アイテムは割り当てた視覚的位置に表示されますが、スクリーンリーダーとキーボードタブ順はソースに従います。WCAG 2.1 SC 1.3.2 意味のある順序は、スタイルが取り除かれたときにソース順が意味をなすことを要求します。意味するもの:論理的読書順のために最初に DOM ソースを設計し、次にアイテムを視覚的に配置するために Grid を使用します。grid-column: 3 / 5; grid-row: 2 でアイテムを劇的に並べ替える場合、話される順序がまだ意味をなすことを確認するためにスクリーンリーダーで監査します。

関連ツール

CSSボックスモデル・ビジュアライザー CSSマルチカラム・ジェネレーター CSSフレックスボックス・ジェネレーター CSSクリップパスジェネレーター