ビューポート
ブラウザが Web ページを表示する「実際の表示画面領域」のことです。スマホでは縦長で 360px〜430px 幅、PC では 1280px〜1920px 幅が一般的です。
HTML の <meta name="viewport"> タグを使って、スマホのブラウザに対して「スマホの実機の幅に合わせて表示してね」と指示を出す仕組みであり、これが現代のスマホ対応(レスポンシブ実装)のすべての起点になります。
絶対に欠かせないタグと「コピペ漏れ」の悲劇
重要なのは、<meta name="viewport" content="width=device-width, initial-scale=1"> という記述が、現代の Web サイトにおける事実上の必須要件だということです。
これが無いと、「スマホの画面内に、PC 版の広いページ全体を無理やり縮小して表示」してしまい、文字が小さすぎて読めない・ボタンが小さすぎて押せないという最悪の UX(UI / UX)を招きます。サイトリニューアルの際などに、古いページのソースコードをコピペしてうっかりこのタグを入れ忘れる事故が、今でも稀に起きます。
現場で直面する「スマホ表示崩れ」の調査と犯人探し
Web 担当者が viewport を強く意識するのは、主にスマホでの表示崩れの調査です。スマホで見たときに「画面が横にグラグラ揺れる(意図しない横スクロールが出る)」「画像が画面の右側にはみ出す」といった症状の多くは、コンテンツの最小幅が viewport(画面幅)を超えてしまっていることが原因です。
- よくある犯人:「横幅を 500px など固定値で作ってしまった表(テーブル)」「途中で改行されない長すぎる URL の直書き」「横幅 100% の指定が漏れた大きな画像」などが悪さをしています。
ブラウザの開発者ツール(検証モード)で viewport 幅をスマホサイズに切り替えてチェックすると、何がはみ出しているのかが一発で分かります(メディアクエリの調整で直すのが基本です)。
外部ツール連携時の「iframe の罠」
もう一つの重要な論点が、iframe(外部サイトのページを自社サイトの一部として枠内で読み込む仕組み)や、決済画面における viewport です。
外部のサービスを iframe で埋め込むとき、相手側の viewport 設定が自社サイトの幅と衝突して、そこだけ表示が崩れるケースが多々あります。決済代行の画面・Google マップ・YouTube 動画の埋め込みなど、外部要素を組み込む際は、PC 上のシミュレーターだけでなく「リリース前に必ずスマホの実機で確認する」のが現場の鉄則です。
言葉をよく利用する人
- コーダー / フロントエンドエンジニア
- デザイナー
- Web 担当者(発注側)
- ディレクター
会話上での使用例
スマホ表示の崩れの原因をコーダーに相談する場面
-
Web 担当者
スマホで見るとサイトの右側が切れて、横スクロールが出てしまうんです。ビューポートの問題でしょうか。
-
コーダー
おそらく画像かテーブルの最小幅が画面幅を超えているのが原因です。確認して、max-width を100%に当てて修正します。
リニューアル直前の最終チェックの場面
-
ディレクター
ビューポートのメタタグ、ちゃんと入っていますか。
-
コーダー
入っています。device-width と initial-scale 1 の指定です。拡大の禁止は、SEO 的にもアクセシビリティ的にも入れない方針にしています。