ビューポートの詳しい解説!【初心者にもわかりやすい】

HTML・CSS

<meta name="viewport" content="width=device-width, initial-scale=1"> は、スマホ対応(レスポンシブデザイン)をする上で非常に重要な設定です。これを設定しないと、スマホでサイトを開いたときに適切なサイズで表示されず、ユーザーがズームしないと読めないようなデザインになることがあります。

各属性の意味

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

このタグの意味を細かく分解すると、以下のようになります。

  • name="viewport"
  • width=device-width
  • initial-scale=1

name="viewport"

この name 属性は、meta タグが ビューポート(画面の表示領域)を制御するためのものであることを示します。

"viewport"以外に指定できるものはありません。ですので、これを必ず入れると覚えてしまいましょう。

width=device-width

  • width=device-width は、 ビューポートの幅をデバイスの物理的な画面幅と同じにする という設定です。
  • 例えば、スマホの画面幅が 375px(iPhone 13 mini)だった場合、ビューポートの幅も 375px に設定されます。
  • これがないと、デフォルトではPC向けのレイアウトが適用され、スマホでも 980px などの幅で表示されてしまいます(縮小されて見にくくなる)。

"width=device-width"以外にも指定できるものが存在します。それらはこちら、もじくは以下のページをご覧ください。

initial-scale=1

  • 初期ズーム倍率を1倍 に設定します。
  • 1 は「デフォルトの縮尺」という意味で、例えば 0.5 にするとズームアウトされて画面が小さく表示され、2 にするとズームインされます。
  • これを指定しないと、一部のブラウザでは適切なズーム倍率にならず、ユーザーが手動でズームしないと見づらいことがあります。

追加のオプション

meta viewport には、以下のような追加のオプションも設定できます。

  • maximum-scale
  • user-scalable

この辺も先ほどのページで詳しく解説していますのでそちらもご覧ください。

maximum-scale

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  • ズームの最大倍率を 1 に固定します。
  • これは、ユーザーがピンチイン・ピンチアウトでズームできないようにするための設定です。(アクセシビリティの観点では、あまり推奨されません)

user-scalable

<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
  • user-scalable=no にすると、ユーザーがズームできなくなります
  • これもアクセシビリティの観点では推奨されず、一般的には使わない方がよいです。

まとめ

<meta name="viewport" content="width=device-width, initial-scale=1"> は、
スマホ対応をするために
「ビューポートの幅をデバイスの画面幅に合わせる」 ことと
「初期倍率を1倍にする」 ことを設定する重要なタグです。

レスポンシブデザインを適切に適用するためには、基本的にこの設定を入れておくのが望ましいです。

コメント

タイトルとURLをコピーしました