CSS のコンテナクエリがそろそろ実用に近づいてきた
こんにちは、魚沼情報サービスの対馬です。今日は最新の CSS 事情のことを書いてみます。
ウェブサイトのレスポンシブ対応のためにメディアクエリがほとんどのサイトで使われていますが、使う場面によってはメディアクエリには使いづらい点があります。
メディアクエリではブレイクポイント(デザインが切り替わる基準点)をデバイスの画面幅で決めています。
このブレイクポイントのルールって、使いづらいときがあるんです。
メディアクエリのブレイクポイントが使いづらい場面
具体的な例として、プラグイン VK All in One Expansion Unit を使って配置したお問い合わせブロックを見てみましょう。
ブロックを単体で配置
まず、お問い合わせブロックを単体で配置すると ↓ こうなります。
お電話でのお問い合わせはこちら025-779-28439:00 – 17:00 [ 土日・祝日除く ]
メールでのお問い合わせ 当日または翌営業日に返信いたします。パソコンでウィンドウサイズを変更して確認すると、1200px よりも小さくなったときに ↓ このように電話番号とお問い合わせボタンが縦に並ぶレイアウトになります。これがデバイスの画面幅に基づいたレスポンシブ動作です。
お電話でのお問い合わせはこちら025-779-28439:00 – 17:00 [ 土日・祝日除く ]
メールでのお問い合わせ 当日または翌営業日に返信いたします。ブロックをカラム内に配置すると…
お問い合わせブロックをカラム内に配置すると、↓ こうなります。ブレイクポイントの基準である画面幅は広いのですが、カラムの幅が狭いので、このようなかっこ悪いレイアウトになっています。

お電話でのお問い合わせはこちら025-779-28439:00 – 17:00 [ 土日・祝日除く ]
メールでのお問い合わせ 当日または翌営業日に返信いたします。ブロックに max-width: 500px を指定
お問い合わせブロックが広すぎるので、ブロックに max-width: 550px; を指定しました。この場合もカラム内に配置したときのようにかっこ悪くなってしまいました。
お電話でのお問い合わせはこちら025-779-28439:00 – 17:00 [ 土日・祝日除く ]
メールでのお問い合わせ 当日または翌営業日に返信いたします。こういうかっこ悪さを想定して、お問い合わせブロックには「電話・メールフォームを縦に設置」というありがたい機能があります。さすが、ベクトルさんですね。
しかし…ここでは、このありがたい機能についてはひとまず忘れて 😅 先に進みましょう。
親要素の幅に基づいてブレイクポイントを決めるコンテナクエリ
ブレイクポイントをデバイスの画面幅ではなく親要素の幅に基づいて決めることができれば、上記のカッコ悪さの問題が解決できます。
また、これができれば、WordPress サイトでレイアウトが
* 1カラムの場合
* 2カラム(サイドバーあり)の場合
の両方に対応した CSS を書くことができるようになります。
それができるのが、コンテナクエリという CSS の新機能です。
この記事を書いている2022年10月9日の時点で、Chrome・Edge・Safari の最新バージョンでコンテナクエリが使えるようになっています。Firefox ではまだ使えません。
Firefox 以外の主要ブラウザが対応した現在、コンテナクエリがいよいよ実用に近づいてきたと思いますし、積極的に使い始めてもよいのではないかと私は思っています。
2023.2.17 追記
今週リリースされた Firefox 110 がコンテナクエリに対応しました。これで主要ブラウザすべてでコンテナクエリが使えるようになりました。
コンテナクエリの CSS
ここから下にあるお問い合わせブロックの 追加 CSS クラス には veu_contact_container を指定してあり、以下のコンテナクエリ CSS を記述してあります。親要素の幅 550px がブレイクポイントになっている点に注目してください。
.veu_contact_container.veu_contact-layout-horizontal .contact_txt {
float: none;
text-align: center;
margin-bottom: 1.2em;
}
.veu_contact_container.veu_contact .contact_bt {
float: none;
padding: .5rem 1.5rem .6rem;
}
.veu_contact_container .contact_frame {
container-type: inline-size;
container-name: veu_contact_container_frame;
}
@container veu_contact_container_frame (min-width: 550px) {
.veu_contact_container.veu_contact-layout-horizontal .contact_txt {
float: left;
text-align: left;
margin-bottom: 0;
}
.veu_contact_container.veu_contact-layout-horizontal .contact_bt {
float: right;
padding: .7em 1.5em;
}
}
ブロックを単体で配置
デフォルトの画面幅 1200px をブレイクポイントとしている場合と比べると、こっちの方がしっくりくるのではないかと…。
お電話でのお問い合わせはこちら025-779-28439:00 – 17:00 [ 土日・祝日除く ]
メールでのお問い合わせ 当日または翌営業日に返信いたします。下記の2つは、かっこ悪さがなくなって、いいかんじです。
ブロックをカラム内に配置

お電話でのお問い合わせはこちら025-779-28439:00 – 17:00 [ 土日・祝日除く ]
メールでのお問い合わせ 当日または翌営業日に返信いたします。ブロックに max-width: 500px を指定
お電話でのお問い合わせはこちら025-779-28439:00 – 17:00 [ 土日・祝日除く ]
メールでのお問い合わせ 当日または翌営業日に返信いたします。Firefox などのコンテナクエリ未対応のブラウザで表示した場合、意図した結果には当然なっていませんが、破綻していません。むしろ今回の場合、見やすくなっています。
サイト運営者プロフィール

- 魚沼情報サービス・ベクトル公式テクニカルパートナー
-
WordPress のサイト制作、設定、カスタマイズ、トラブルでお悩み、お困りの方、ベクトル公式テクニカルパートナーがお手伝いいたします。
Lightning / X-T9 / VK Blocks / VK Filter Search などのベクトル製品のサポート、カスタマイズを最も得意としています。
打ち合わせ・サポートを Zoom や電子メール・電話などを併用して行わせていただきます。
オンラインレッスン形式でのウェブサイト制作・運用のサポートも行っています。お客様ご自身でホームページを制作・運用する上でうまくいかない部分をサポートいたします。設定やカスタマイズを手伝ってもらいたい、同時に便利な使い方や設定方法、カスタマイズのやり方も知ることができたら...という方にご好評いただいています。
デザイナー様、制作業者様のサイト制作のお手伝いも数多く行っています。難しい部分のコーディング ( PHP / CSS / jQuery ) をやってほしい、いま人手が足りない等、お仕事の依頼をお待ちしています。
ご要望をうかがった上で費用見積り(無料)を提示させていただきますので、お気軽にお問い合わせください。
≫メールでのお問い合わせはこちら
最新の投稿
WordPress2026年2月26日宿泊施設のサイト向けにカラムブロックを使ったバナー案を作成しました
WordPress2026年2月25日スターターパックでヘッダーに電話番号とお問い合わせボタンを表示できる機能を追加しました
WordPress2026年2月11日投稿のタイトルが長いときに改行して表示されないようにカスタマイズしました
制作事例2026年2月9日ホームページ制作事例「パソコン教室くりっく」

WordPress のトラブル解決・設定・カスタマイズ
ベクトル公式テクニカルパートナー
があなたをお手伝いします
Zoom で画面共有してQ&A形式でサポートいたします。わからないところや疑問点をどんどん質問してください。その場ですぐに解決をお手伝いします。※ご希望の方にはメールでのサポートも可能です。
PHP / jQuery / CSS / アクションフック / フィルターフック のカスタマイズのご依頼も承ります。自分では思い通りにできないのでプロの力を借りたいとお考えの方、ぜひご相談ください。



