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 定義

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

@container card (min-width: 400px) {
  .card {
    font-size: 1.25rem;
  }
}

Features

  • コンテナ名・container-type(size / inline-size)をGUIで設定
  • 条件を複数追加(min-width / max-width / min-height / max-height)
  • 条件ごとにCSSプロパティをフリーテキストで追加・削除
  • 値の単位を px / em / rem / % から選択
  • コンテナ定義CSS(.wrapper)と @container CSS を同時出力
  • リアルタイム CSS プレビューとワンクリックコピー


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年現在では安心して使える機能です。

広告

Related Tools

base64-studio

Base64 エンコード & デコード

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

使ってみる →

BOOTH

JSON Studio

JSON フォーマッター & バリデーター

JSON開発者向けフォーマッター

使ってみる →

BOOTH

color-deck

カラーコード変換 & パレット保存

カラーデザイン開発者向け

使ってみる →

BOOTH

Gradient Deck

グラデーションエディタ

カラーデザインCSS

使ってみる →

BOOTH

このツールを共有する