カテゴリ: CSS 更新日: 2025/10/30

CSSのレスポンシブ対応!初心者でもわかるサイズを可変にする方法(%・vw・media query)

レスポンシブ対応でサイズを可変にする方法(%・vw・media query)
レスポンシブ対応でサイズを可変にする方法(%・vw・media query)

先生と生徒の会話形式で理解しよう

生徒

「先生、スマホで見ると文字や画像が小さすぎたり、大きすぎてはみ出したりすることがあるんですけど、CSSで調整できますか?」

先生

「はい、それはレスポンシブ対応といって、画面の大きさに合わせてサイズを変える仕組みを作ることができます。CSSでは%やvw、そしてmedia queryを使う方法がありますよ。」

生徒

「なるほど!それぞれどういう意味なんですか?」

先生

「順番にわかりやすく解説していきますね。」

1. %を使ったレスポンシブなサイズ指定

1. %を使ったレスポンシブなサイズ指定
1. %を使ったレスポンシブなサイズ指定

CSSで%(パーセント)を使うと、親要素(外側の箱)の幅に対して相対的にサイズが決まります。例えば「幅: 50%」なら、親の半分の大きさになります。
これは水の入れ物に例えるとわかりやすいです。コップの半分まで水を入れるとき、コップが大きければ水の量も多く、小さければ少なくなります。%指定は、まさにその「入れ物基準」で大きさが決まるイメージです。


<style>
    .box {
        width: 50%;
        background-color: lightgreen;
        padding: 10px;
    }
</style>

<div class="box">親要素の50%の幅で表示されます</div>
ブラウザ表示

2. vwを使った画面幅に応じたサイズ指定

2. vwを使った画面幅に応じたサイズ指定
2. vwを使った画面幅に応じたサイズ指定

vwは「viewport width(ビューポート幅)」の略で、画面全体の幅を基準にサイズを決める単位です。
1vwは画面幅の1%にあたります。つまり幅を「50vw」とすれば、常に画面幅の半分を占めるサイズになります。
%との違いは、%が「親要素」を基準にするのに対して、vwは「画面全体」が基準になるという点です。


<style>
    .vw-box {
        width: 50vw;
        background-color: lightcoral;
        padding: 10px;
    }
</style>

<div class="vw-box">画面幅の50%で表示されます</div>
ブラウザ表示

3. media queryを使った画面ごとのレイアウト調整

3. media queryを使った画面ごとのレイアウト調整
3. media queryを使った画面ごとのレイアウト調整

media query(メディアクエリ)は、画面の大きさに応じてCSSを切り替える仕組みです。例えば「スマホでは1カラム表示、パソコンでは2カラム表示」というような調整が可能です。
簡単にいうと、服のサイズをS・M・Lと変えるように、画面サイズごとにスタイルを着替えさせるイメージです。


<style>
    .responsive-box {
        background-color: lightblue;
        padding: 10px;
    }

    /* 画面幅が600px以下のとき */
    @media (max-width: 600px) {
        .responsive-box {
            background-color: lightpink;
            font-size: 14px;
        }
    }

    /* 画面幅が601px以上のとき */
    @media (min-width: 601px) {
        .responsive-box {
            background-color: lightgreen;
            font-size: 20px;
        }
    }
</style>

<div class="responsive-box">画面の幅によって色や文字サイズが変わります</div>
ブラウザ表示

4. %・vw・media queryの使い分け

4. %・vw・media queryの使い分け
4. %・vw・media queryの使い分け

実際のWeb制作では、それぞれの特性を理解して使い分けることが大切です。

  • %は親要素基準なので、レイアウト内で相対的に調整したいときに便利
  • vwは画面全体基準なので、大きな背景や横幅いっぱいに広がる要素に適している
  • media queryは、スマホ・タブレット・PCなどデバイスごとにレイアウトを切り替えるときに必須

例えば、スマホでは文字サイズを小さめにし、PCでは大きめにするといった調整もmedia queryで簡単に実現できます。これらを組み合わせることで、ユーザーにとって見やすく使いやすいレスポンシブデザインを作ることができます。

5. 実務でよくあるレスポンシブ対応の例

5. 実務でよくあるレスポンシブ対応の例
5. 実務でよくあるレスポンシブ対応の例

初心者でも実際に役立つ場面をいくつか紹介します。

  • 画像をwidth: 100%にして、親の幅に合わせて縮小表示する
  • ボタンをmin-widthで最低限押しやすいサイズにして、vwで可変対応する
  • 記事本文をmax-widthで広がりすぎないようにして、media queryでスマホ時は文字サイズを小さめに調整する

このように、%・vw・media queryを組み合わせれば、どんなデバイスでも快適に閲覧できるレスポンシブデザインが実現できます。

関連記事:
カテゴリの一覧へ
新着記事
CSSのダブルボーダーや点線・破線を完全ガイド!初心者でもわかるdotted・dashed・doubleの使い方
Bootstrapの$theme-colorsを拡張!ブランドカラー追加の完全ガイド【map-merge】
CSSの境界線を部分的に設定する方法を完全ガイド!初心者でもわかるborder-topなどの使い方
BootstrapのSass変数を完全ガイド!初心者でもわかる色・余白・フォント設定
人気記事
No.1
Java&Spring記事人気No1
CSSで文字の間隔を調整する方法!初心者でもわかるletter-spacingとword-spacingの使い方
No.2
Java&Spring記事人気No2
CSSのtext-alignの使い方完全ガイド!初心者でもわかる文字揃えの基本
No.3
Java&Spring記事人気No3
Bootstrap 3から5への一気移行ガイド!初心者でもわかる段階的リファクタリングの進め方
No.4
Java&Spring記事人気No4
CSSの文字間・単語間の調整と影の付け方を完全ガイド!初心者でもわかるテキスト装飾術