CSS ・ レスポンシブ

レスポンシブコーディング

スマホ・タブレットに表示を最適化する

1つの HTML を、PC・タブレット・スマートフォンなど画面の幅に合わせて見やすく表示させるコーディングの方法です。今のサイト制作では必須の技術といわれています。

目的
どの端末でも見やすく表示する
必要なもの
viewport の meta タグ・@media
覚える言葉
ビューポート・ブレイクポイント・メディアクエリ
01

サンプルコード

HTML
1<nav class="nav">
2 <a href="#">ホーム</a>
3 <a href="#">サービス</a>
4 <a href="#">お問い合わせ</a>
5</nav>
CSS
1/* スマホ向け(基本):縦に並べる */
2.nav {
3 display: flex;
4 flex-direction: column;
5 gap: 4px;
6}
7.nav a {
8 padding: 10px;
9 background: #b68235;
10 color: #fff;
11 text-align: center;
12 text-decoration: none;
13}
14/* ブレイクポイント:600px以上で横に並べる */
15@media (min-width: 600px) {
16 .nav {
17 flex-direction: row;
18 }
19 .nav a {
20 flex: 1;
21 }
22}
02

実行結果

ブラウザでの表示プレビューの幅が600px以上なら横並び、未満なら縦並びになります
03

解説

レスポンシブコーディングとは、スマートフォンやタブレットに対して表示を最適化すること です。

サイト訪問者の約7割がスマホ といわれており(総務省「情報通信白書」などを参照)、コーディングを行ううえで必須といわれている技術です。

また、Google は検索アルゴリズムにおいて、スマホ向けのページを評価対象にすることを公表しています(モバイルファーストインデックス)。スマホで見づらいページは、検索結果の順位にも影響します。

上の例では、スマホ向けのスタイル(縦並び)を基本に書き、画面幅が600px以上になったら @media で横並びに切り替えています。この「切り替える幅」がブレイクポイントです。

04

応用例・注意点

覚えてほしい3つのキーワード

キーワード説明
ビューポート(viewport)ブラウザウィンドウの表示領域のこと。meta タグで端末の画面幅に合わせる
ブレイクポイントCSS を切り替えるタイミング(画面幅)のこと
メディアクエリ@media で「画面幅が○px以上のとき」などの条件を書き、CSS を切り替える仕組み

viewport の meta タグを書く

レスポンシブコーディングでは、すべてのページの head に必ず書きます。この行がないと、スマホでメディアクエリが正しく動きません。

HTML
1<head>
2 <meta charset="UTF-8">
3 <meta name="viewport" content="width=device-width, initial-scale=1.0">
4 <title>トップページ</title>
5</head>

注意点

  1. 01案件の仕様によっては、レスポンシブにせず PC用ページとスマホ用ページを分けて制作するケースもあります。
  2. 02対応するデバイスが増えるほど、レイアウトが複雑になるほど、対応に時間がかかります。デザインを受け取ったら、スマホでどう並ぶかを最初に確認しましょう。
  3. 03実機がなくても、ブラウザの開発者ツール(デベロッパーツール)のデバイスモードで、スマホの画面幅を確認できます。
05

レスポンシブコーディングの特徴と3つのキーワード

メリットとデメリット

内容
メリットHTML ファイルひとつ で PC・タブレット・スマホに対応できる
メリットURL が変わらない ため、シェアしやすい
デメリット対応するデバイス(タブレットやスマホ)が増えるほど、複雑なレイアウトになるほど、対応に時間がかかる可能性がある

案件の仕様によっては、PC用ページ、スマホ用ページを分けて制作する ケースもあります。

① ビューポート(viewport)

ビューポートとは、ブラウザウィンドウの表示領域 のことです。PC ならブラウザの窓の中、スマホなら画面全体がビューポートになります。HTML の head に <meta name="viewport" content="width=device-width, initial-scale=1.0"> を書いて、表示領域の幅を端末の画面幅に合わせます(詳しくは meta のページ)。

② ブレイクポイント

ブレイクポイントとは、CSS を切り替えるタイミング(画面幅) のことです。PC とスマホの表示を切り替える場合、画面幅が何 px になったときに切り替えるかを定義する必要があります。

ブレイクポイントを決めるときは、実際によく使われている画面の大きさを参考にします。下の表は日本の画面解像度のシェア(2025年7月時点・StatCounter 調べ)です。

PCタブレットスマホ
1920×1080(25.71%)768×1024(19.4%)390×844(17.03%)
1536×864(8.38%)820×1180(13.75%)393×852(12.73%)
2560×1440(6.49%)810×1080(12.39%)375×667(6.37%)
1366×768(5.34%)834×1194(8.11%)375×812(5.83%)
1280×720(3.61%)744×1133(6.84%)430×932(5.35%)
1440×900(2.33%)1024×1366(5.86%)412×915(5.29%)
端末よく使われている幅の目安
PC幅 1280px〜1920px が多くのシェアを占めている
タブレット768px〜1024px
スマホ375px〜414px

ただし PC では、ブラウザのサイズを縮めて Webサイトを見ている人もいます。必ずしも 「画面幅=ブラウザの幅」とは限らない ことを覚えておきましょう。

ブレイクポイントの決め方

  • 制作会社や制作者によって定義は様々です。案件で決まっている場合はそれに従います。
  • 画面サイズが大きいデバイスもどんどん発売されるため、一定期間でブレイクポイントの見直しをしたほうがよい です。
  • 端末の種類にこだわりすぎず、レイアウトが崩れ始める幅を基準に決めるのも一つの方法です。

③ メディアクエリ

@media (min-width: 600px) { … } のように、画面幅などの条件を書いて、条件に合うときだけ CSS を適用する仕組みです。ブレイクポイントの幅は、このメディアクエリの条件に書きます(詳しくは @media のページ)。

↑↓ 選択Enter 移動Esc 閉じるCtrl K⌘K で開閉