メディアクエリ
基本的な意味と役割
CSS(スタイルシート)の機能の一つで、画面幅・解像度・端末タイプなどの条件に応じて、適用するデザインを動的に切り替える仕組みです。
例えば @media (max-width: 768px) { ... } と記述することで、「画面幅が 768px 以下のとき(スマホ閲覧時)だけ、このレイアウトを適用する」といった指示が可能です。現代の Web 制作に不可欠な「レスポンシブデザイン(レスポンシブ)」を支える中核技術です。
現場での使われ方と重要性
Web 担当者が自らコードを書くことは稀ですが、制作会社との会話では「ブレイクポイント(デザインが切り替わる境界の数値)」とセットで頻出するため、仕組みの理解は必須です。
現場では現在、スマホを基準にデザインを作り、画面が広くなった時(min-width)に PC 用のスタイルを上書きしていく「モバイルファースト(スマホファースト)」での構築が主流です。スマホでの余計な読み込みを減らし、表示速度(パフォーマンス)や SEO評価を高める効果があります。
また近年は画面幅だけでなく、「ダークモード」「動きを減らす設定」「カラーガモット(色域)」など、ユーザーの端末設定を読み取って見た目を最適化する「高度なアクセシビリティ対応」もメディアクエリで実現されています。
Web 担当者が陥りやすい落とし穴とリアルな対策
① ブレイクポイントの乱立による「保守コストの爆発」
最も陥りやすい罠が、あらゆる画面サイズに完璧に対応しようとして、メディアクエリ(ブレイクポイント)を書きすぎてしまうこと。10 個の境界値を設けると、将来ボタンの色を一つ変えるだけで 10 箇所の修正作業(とテスト工数)が発生します。
② 見積もりを跳ね上げる「タブレットの沼」
ブレイクポイントが増える最大の原因は「タブレット(iPad 等)」です。実務では「タブレット専用のデザインをわざわざ作るのか、それとも PC 用または スマホ用のデザインを流用するのか」を要件定義の初期に制作会社と握っておかないと、後から想定外の追加見積もりが発生します。
※ディレクターの現実的な判断
ブレイクポイントは 3〜5 個程度に抑え、「PC 用 + スマホ用」のシンプル構成で割り切るのが、保守性・コスト面で最も現実的で賢い判断となる現場が多数です。(※なお最新動向として、画面幅ではなく「親要素の枠の幅」でスタイルを切り替える『コンテナクエリ』という新技術も普及し始めています)
言葉をよく利用する人
- コーダー / フロントエンドエンジニア
- デザイナー
- Web 担当者(発注側)
- ディレクター
会話上での使用例
ダークモード対応をコーダーと打ち合わせる場面
-
Web 担当者
スマホがダークモードのときは、サイトも暗い背景に切り替えたいんです。
-
コーダー
それならメディアクエリのprefers-color-schemeという条件で対応できます。本文の色とアクセントカラーを明暗の2系統用意して、設定に応じて切り替える形にしましょう。
CSSが肥大化している原因をコーダーと確認する場面
-
コーダー
今メディアクエリが9か所に分かれていて、改修のたびに全部触らないといけない状態です。
-
Web 担当者
それは大変ですね。次のリニューアルで3段階くらいに整理しましょう。デザイン要件をヒアリングするときに、切り替えの境界値もきちんと合意を取っておきます。