Mima Design MemottoWEB DESIGNER · mima

CSSのメディアクエリをスマートフォン基準で設計するコツ

スマートフォンでの閲覧を基準にCSSを組み立てると、画面幅が広がったときの調整が整理しやすくなります。最初からPC向けの複雑なレイアウトを作り、後から小さな画面に縮めるよりも、必要な情報と操作を絞り込んだ状態から段階的に拡張するほうが、コードも表示結果も安定します。

Webデザインやアプリ開発の制作では、見た目だけでなく、読みやすさ、タップしやすさ、通信環境への配慮も重要です。ここでは、レスポンシブデザインに使うメディアクエリを、スマートフォンファーストで書く際の考え方と実装のポイントをまとめます。

小さい画面の基本スタイルから始める

スマートフォン基準では、メディアクエリの外側に最小画面向けのスタイルを書き、広い画面に必要な変更だけをmin-widthで追加します。これがいわゆるモバイルファーストです。初期CSSがそのままスマートフォンの標準表示になるため、優先順位を把握しやすくなります。

.card {
  padding: 16px;
  font-size: 1rem;
}

@media (min-width: 768px) {
  .card {
    padding: 24px;
  }
}

PC向けの値を上書きするmax-width中心の書き方では、不要な指定が積み重なりやすい傾向があります。まず小さな画面で必要な余白、文字サイズ、縦方向の流れを整え、その後に横並びや大きな余白を加えると、CSSの意図が明確になります。

ブレークポイントは端末名で決めない

ブレークポイントを「タブレット用」「PC用」のように端末名で固定すると、新しい端末や中間サイズでレイアウトが崩れることがあります。基準にするのは端末ではなく、コンテンツが窮屈になる幅です。ナビゲーションの文字が折り返す、カードの画像が小さくなりすぎる、といった変化を見て位置を決めます。

たとえば、1列のカードを2列に変える境目が700px付近なら、768pxにこだわらず、コンテンツが自然に並ぶ値を採用します。ブレークポイントは少数に抑え、画面幅ごとに細かな調整を増やしすぎないことも大切です。

viewportと流動的なサイズを整える

HTMLには、スマートフォンでCSSピクセルを正しく扱うためのviewport設定を入れます。これがないと、端末によってはページ全体が縮小表示され、メディアクエリの確認結果も分かりにくくなります。

<meta name="viewport" content="width=device-width, initial-scale=1">

幅は固定値だけでなく、width: 100%、max-width、clamp()などを組み合わせると、画面の変化に柔軟に対応できます。見出しには次のような指定も有効です。

h1 {
  font-size: clamp(1.75rem, 5vw, 3rem);
}

この方法なら、ブレークポイントを増やさずに文字サイズを滑らかに変えられます。実装時の細かな考え方は、Webサイト実装メモのように、制作中の判断を記録しておくと後から見直しやすくなります。

タップ操作と視認性を優先する

スマートフォンでは、マウスのホバーを前提にした操作は成立しません。リンクやボタンは指で押しやすい大きさと間隔を確保し、重要な操作が隣接しすぎないようにします。ホバー時だけ色を変える場合は、キーボード操作やフォーカス表示も同時に設計します。

.button {
  display: inline-block;
  min-height: 44px;
  padding: 10px 18px;
}

.button:focus-visible {
  outline: 3px solid #2367d1;
  outline-offset: 3px;
}

画像や表が画面からはみ出す場合は、親要素に横スクロールを設定する方法もあります。無理に全体を縮小して文字を読みにくくするより、情報の性質に合わせて表示方法を選ぶことが重要です。

メディアクエリを増やしすぎない

ブレークポイントを追加する前に、flex-wrap、grid-template-columns、gap、max-widthで解決できないかを確認します。CSS Gridなら、次のようにカード幅を基準に自動配置できます。

.list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
}

この書き方では、画面幅に応じて列数が変わるため、複数のメディアクエリを減らせます。どうしても固有の変更が必要な場合だけ、コンポーネント単位で追加すると管理しやすくなります。

実機確認で表示の差を見つける

ブラウザの開発者ツールは便利ですが、実機ではフォントの描画、アドレスバーの変化、指での操作感、通信速度などが異なります。iPhoneやAndroidで、縦向きと横向き、長い本文、入力フォーム、メニューの開閉を確認しましょう。

開発や学習の記録を継続するなら、iPhoneアプリ勉強会のように、制作物を共有する場から異なる視点を得るのも役立ちます。自分では気づきにくい余白や操作上の違和感を、第三者の意見で発見できます。

制作時に確認したい実装ポイント

スマートフォンファーストのレスポンシブCSSは、単にmin-widthを使うだけでは完成しません。コンテンツの優先順位を決め、可読性と操作性を実機で検証しながら、必要な範囲だけレイアウトを広げていくことが要点です。発表資料や制作記録を整理するときは、過去の発表資料も設計意図を振り返る手がかりになります。

  • viewport設定をHTMLに追加する
  • スマートフォン向けの基本CSSを先に書く
  • ブレークポイントはコンテンツの都合で決める
  • 固定幅よりもmax-widthやclamp()を活用する
  • ボタンとリンクのタップ領域を確保する
  • 縦横表示と実機の操作感を確認する

まずは既存ページのCSSを開き、スマートフォンで不要な指定や重複したメディアクエリを整理してみてください。小さな画面で読みやすく操作しやすい状態を作ることが、幅広いデバイスに対応するレスポンシブデザインの土台になります。