「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > CSSコンテナクエリガイドを開始します

CSSコンテナクエリガイドを開始します

2025-04-13に投稿されました
ブラウズ:336

CSSコンテナクエリ:レスポンシブデザインの革命

からのこの抜粋は、CSS の力を解き放ちます。 ブラウザのウィンドウサイズ全体に反応するビューポートメディアクエリとは異なり、コンテナクエリは、要素の利用可能なスペースに基づいたスタイリングを可能にし、真のコンポーネントレベルの応答性を有効にします。

An Introduction to Container Queries in CSS

コンテナクエリ対ビューポートメディアクエリ

従来のビューポートベースのレスポンシブデザインは、多くの場合、レイアウトグリッドと組み合わせた簡略化されたデバイスサイズ(モバイル、タブレット、デスクトップ)に関連するブレークポイントに依存しています。 このアプローチは、個々のコンポーネントの適応性と格闘しています。より大きな要素は個別に調整される可能性がありますが、通常はグローバルなブレークポイントに従います。

コンテナクエリは優れたソリューションを提供します。 次の画像は、ビューポートサイズとは完全に独立したコンテナクエリでスタイルのカードコンポーネントを示しています。 カードの外観は、利用可能なスペースに動的に適応します。

An Introduction to Container Queries in CSS

注:firefox 110を使用して、コンテナクエリの幅広いブラウザのサポートが存在します。ポリフィルは古いブラウザーで利用できます。

コンテナクエリの定義

コンテナクエリを利用するには、最初に

conterer-type

プロパティを使用してコンテナとして要素を宣言します。 inline-size (水平ライティングモードの幅に相当)は、最も一般的で広くサポートされている値です。 。容器 { コンテナタイプ:インラインサイズ。 }

.container {
  container-type: inline-size;
}
at-ruleを使用してクエリを定義します。 次の例では、コンテナが幅40倍以上の場合、

h2 blueを設定します。 @container(min-width:40ch){ H2 { 色:青; } }

@container (min-width: 40ch) {
  h2 {
    color: blue;
  }
}

@container(inline-size> 40ch){ H2 { 色:青; } }

@container (inline-size > 40ch) {
  h2 {
    color: blue;
  }
}
、オプションには

block-size および asde-ratio が含まれます。詳細については、公式仕様を参照してください。 カードコンポーネントのアップグレード:実用的な例

コンテナクエリなしでは、カードのバリエーションには通常、ビューポートブレークポイントに結び付けられた修飾子クラスが含まれます。 以下の画像には、3つのカードサイズとそれに対応するクラスを紹介しています。

[Codepen Demo:Viewport Media Query Cards](Codepenへのリンク)

An Introduction to Container Queries in CSS コンテナクエリを使用して、デフォルトのカードスタイル(サポートされていないブラウザ用)を維持し、コンテナ幅に基づいて追加のスタイルを定義します。

350px以上:水平レイアウト

600px以上:背景としての画像

  • [Codepenデモ:カードのコンテナクエリ](codepenへのリンク)

この抜粋は、An Introduction to Container Queries in CSS CSSの力を解き放つことからのものです。応答性のあるユーザーインターフェイスの高度な手法

、SitePoint Premiumで利用可能です。

キーテイクアウト:

コンテナクエリは、コンポーネントレベルの応答性を提供します。 それらは

container-type
    および
  • @container
  • を使用して定義されています。
  • 論理プロパティは、クロスライティングモードの互換性を強化します。 ビューポートメディアクエリよりも、レスポンシブデザインに対してより柔軟で粒状のアプローチを提供します。
  • (注:「codepenへのリンク」を実際のCodepenリンクに置き換えてください。)
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3