>_devtools-hub

CSS Container Query Builder

@container クエリをGUIで組み立てて CSS を即生成

CSS開発者向け

コンテナ名・コンテナタイプ(size / inline-size)を設定し、@container の条件(min-width / max-width 等)とその中に適用するCSSプロパティをGUIで追加するだけでコードを生成。幅をドラッグで変えられるプレビューで、条件が切り替わる幅をその場で確かめられます。Flexbox / Grid と組み合わせてコンポーネントベースのレスポンシブデザインを実現する最新CSS機能のビルダーです。

広告

CSS Container Query Builder

Container 定義

幅だけを基準にします。通常はこちら。高さの条件(min-height など)は当たりません。

1@container 条件
:
CSS Output.css
.card-wrapper {
  container-type: inline-size;
  container-name: card;
}

@container card (min-width: 400px) {
  .card {
    font-size: 1.25rem;
  }
}
Previewコンテナの幅 0px / 右下をドラッグして幅を変更

カードの見出し

幅が条件を満たすと、上の CSS のプロパティがこの部品に当たります。

Features

  • コンテナ名・container-type(size / inline-size)をGUIで設定
  • 条件を複数追加(min-width / max-width / min-height / max-height)
  • 条件ごとにCSSプロパティをフリーテキストで追加・削除
  • 値の単位を px / em / rem から選択(コンテナクエリでは % は使えない)
  • コンテナ定義CSS(.wrapper)と @container CSS を同時出力
  • 幅をドラッグで変えられるプレビューで、条件の切り替わりをその場で確認
  • inline-size に高さの条件を付けたとき(一度も当たらない)に警告

この作業の手順ガイド


CSS Container Queriesとは — コンポーネントベースのレスポンシブデザイン

CSS Container Queriesは、ビューポートではなくコンテナ要素のサイズに基づいてスタイルを切り替える新しいCSS機能です。メディアクエリが「画面サイズ」に反応するのに対し、コンテナクエリは「コンポーネントのサイズ」に反応します。

メディアクエリとの違い

`@media (min-width: 768px)` はブラウザのビューポート幅に反応します。一方 `@container (min-width: 400px)` は指定したコンテナ要素の幅に反応します。同じコンポーネントでもサイドバー内に置いたときとメインエリアに置いたときで異なるスタイルを適用できるため、真にコンポーネントベースのレスポンシブデザインが実現できます。

container-typeの設定

`container-type: inline-size` は横幅(インライン方向)のクエリのみを有効にします。`container-type: size` は縦横両方のクエリを有効にしますが、コンテナ要素に明示的な高さが必要です。ほとんどのユースケースでは `inline-size` で十分です。`container-name` でコンテナに名前を付けると、ネストしたコンテナを明示的に指定して @container クエリを書けます。

実用的なパターン

カードコンポーネントが400px以上のコンテナ内にある場合は横並びレイアウト、それ以下では縦積みレイアウトに切り替えるのが典型的な使い方です。ナビゲーションメニュー・価格カード・メディアオブジェクトなどをコンテナクエリでレスポンシブにすることで、グリッドシステムやブレークポイントへの依存を減らせます。たとえばサイドバーに配置されたウィジェットは幅が狭いため縦積み表示になり、メインコンテンツエリアに移動すると自動で横並びに切り替わります。これをメディアクエリだけで実現するには画面幅とレイアウト両方の条件が必要で複雑になりますが、コンテナクエリならコンポーネント自身のサイズだけで判断できるためシンプルに保てます。

ブラウザサポート

Container Queriesは2023年以降の主要ブラウザ(Chrome 105+, Firefox 110+, Safari 16+)でサポートされています。IE・古いEdgeは非対応ですが、現代のWebアプリケーション開発では実用的に使えます。Chromeで最初に実装されてから急速に他ブラウザにも普及し、2024年現在ではグローバル対応率90%以上で安心して使える機能です。非対応ブラウザ向けのフォールバックとして@supportsで分岐するか、PostCSSプラグインで変換する方法があります。Style Queriesと呼ばれる拡張機能(CSS変数の値に基づくクエリ)も一部ブラウザで実装が進んでいます。

広告

Related Tools

Lockfile Diff

package-lock.json の更新前後を比較 — 版の動きをメジャー/マイナー/パッチで分類

npmバージョン管理開発者向け

使ってみる →

Text Encoding Checker

文字コードを判定して UTF-8 に変換 — 化けた文字列の復元も

テキストエンコード開発者向け

使ってみる →

Line Ending Inspector

改行コードを検査 — CRLF / LF / CR の内訳と混在、BOMの有無

テキストエンコード開発者向け

使ってみる →

Base64 Studio

Base64 エンコード & デコード

開発者向けテキストエンコード

使ってみる →

BOOTH

このツールを共有する