CSSツール

無料 CSSサブグリッドレイアウトジェネレーター

親グリッドと子サブグリッドのCSSを生成し、トラックの共有アライメントを実現します。

ツールを読み込み中...

CSSサブグリッドレイアウトジェネレーターとは

サブグリッドはネストされたグリッドコンテナが親のグリッドトラックを継承できるCSSグリッド機能です。自身のgrid-template-columnsやgrid-template-rowsを定義する代わりに子はsubgridを使用して親のグリッドラインに項目を整列させます。これは各カード内で内部の整列が必要なカードグリッドに便利です。

クイックアンサー

CSSサブグリッドを使用してネストされたグリッド項目を親のグリッドトラックに整列させます。子はgrid-template-columns: subgridやgrid-template-rows: subgridを使用して親グリッドからトラックサイズ、ギャップ、名前付きラインを継承します。

Last updated: 2026-05-28

制限事項

  • サブグリッドを使用するには親が明示的なトラックを持つグリッドコンテナである必要があります。親が自動生成トラック(暗黙的グリッド)を使用する場合サブグリッドは継承するトラックを持ちません。
  • サブグリッドのブラウザサポートは基本的なCSSグリッドよりも新しいものです。Firefoxが最初に搭載し(v71)ChromeとEdgeはv117で追加Safariはv16で追加しました。古いブラウザはサブグリッドを完全に無視します。
  • サブグリッドの子は親のギャップを上書きできません。ギャップ値は最も近いグリッド祖先から継承されサブグリッド要素自体で変更することはできません。

Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub

使い方

  1. 親グリッドの列とオプションで行を定義します。サブグリッドの子はこれらのトラックを継承します。
  2. サブグリッドの子の列と行のスパンを設定します。親グリッドのセルをいくつ占有するかです。
  3. 子が列、行、または両方にsubgridを使用するかどうかを選択します。
  4. 親と子のCSSをコピーしHTMLで一致するセレクターを適用します。

主な用途

  • 各カードにヘッダー、本文、フッターがありそれらが列間で整列するカードグリッドを作成します。
  • サブグリッドを使用してラベルと入力のペアがセクション間で整列するフォームレイアウトを構築します。
  • 異なるサイズのウィジェットがメイングリッドと配置を共有するダッシュボードをデザインします。

用途

使用例

コンテンツが整列したカードグリッド

製品グリッドに3列あります。各カードは1列にスパンし行にサブグリッドを使用してコンテンツの長さに関係なくタイトル、説明、価格がカード間で水平に整列します。

マルチセクションフォームレイアウト

フォームに列の配置を共有する2つのセクションがあります。各セクションはラベルと入力の列トラックを継承するサブグリッドの子でありグリッド定義を繰り返さずに一貫した配置を確保します。

よくあるミス

  • 親グリッドなしでサブグリッドを使用するとサブグリッドは明示的なトラックを持つグリッドコンテナから派生する必要があります。
  • grid-template-columns: subgrid と明示的な列値の両方を設定するとsubgridは親トラックを置き換えるものであり補完するものではありません。
  • サブグリッドは親からギャップを継承することを忘れがちです。親にgap: 16pxがある場合サブグリッドの子もデフォルトで16pxのギャップを使用します。

検証

  1. ブラウザのDevToolsのGridインスペクターでレイアウトを確認します。サブグリッドトラックが親グリッドトラックと視覚的に整列する必要があります。
  2. FirefoxとChromeでテストしてクロスブラウザのサブグリッド動作を確認します。暗黙的トラックの処理に微妙な違いがあります。

FAQ

CSSサブグリッドレイアウトジェネレーターのFAQ

サブグリッドとネストされたグリッドの違いは何ですか?

ネストされたグリッドは子要素内に独立したトラックを作成します。親グリッドとの配置は共有されません。サブグリッドは親のグリッドトラックを継承するためサブグリッド内の項目はすべてが1つのフラットなグリッドにあるかのように親グリッドの項目と整列します。これにより要素間のトラック整列が可能になります。

サブグリッドは親から名前付きグリッドラインを継承しますか?

はい。親のgrid-template-columnsまたはgrid-template-rowsで定義された名前付きグリッドラインはサブグリッドでも利用可能です。これによりレイアウト全体にわたる名前付きラインにサブグリッド項目を簡単に配置できます。

サブグリッドをサポートしているブラウザは?

Chrome 117以上、Edge 117以上、Firefox 71以上、Safari 16以上。Firefoxが最初にサブグリッドを搭載しました。プログレッシブエンハンスメントとして安全に使用できサブグリッドをサポートしないブラウザは子要素に定義された通常のグリッド動作にフォールバックします。

関連ツール

その他のcssツール

こちらもお試しください

こちらもお試しください