カテゴリ: 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を組み合わせれば、どんなデバイスでも快適に閲覧できるレスポンシブデザインが実現できます。

カテゴリの一覧へ
新着記事
New1
CSS
CSS Gridテンプレート集!よく使うWebレイアウトの作り方
New2
HTML
HTML head要素とは?meta・titleの役割と基本を解説
New3
Bootstrap
Bootstrap固定比率カラム完全ガイド!.col-6・.col-md-4の使い方とベストプラクティスを初心者向けに解説
New4
CSS
CSS Gridとメディアクエリで作る!レスポンシブデザイン完全入門
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSの入れ子構造セレクタ完全ガイド!初心者でもわかる書き方と使い方
No.2
Java&Spring記事人気No2
HTML
HTMLでできること・できないこと|初心者が迷う点を整理
No.3
Java&Spring記事人気No3
CSS
CSSの文字色と背景色の組み合わせで読みやすさアップ!初心者でもわかる可読性の改善方法
No.4
Java&Spring記事人気No4
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.5
Java&Spring記事人気No5
CSS
CSS Gridの配置を視覚的にデザイン!grid-template-areasの設計方法
No.6
Java&Spring記事人気No6
Bootstrap
Bootstrap5グリッドとは?12分割の基本とrow・col・gutterを初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
HTML
HTML文書構造を正しく書く重要性|SEOと保守性の観点
No.8
Java&Spring記事人気No8
HTML
HTML文書構造とは?ページ構造とアウトライン設計の基本を解説