スマホ向けページは、代表的な一種類の幅だけで確認すると、狭い端末や大きめの端末で崩れることがあります。当サイトのトップを360・390・430pxで開き、ページ幅とヒーローの寸法を取得しました。
この記事の目次
検証条件
- ブラウザ表示高は844pxで固定
- 表示幅を360px、390px、430pxに変更
- documentElement.scrollWidthと各要素のgetBoundingClientRectを取得
- 同一のCSSとコンテンツを使用
計測結果
| 画面幅 | ページ幅 | ヒーロー高 | 次セクション表示 |
|---|---|---|---|
| 360px | 360px | 732px | 49px |
| 390px | 390px | 732px | 49px |
| 430px | 430px | 732px | 49px |
横スクロールは3条件とも発生しなかった
documentElement.scrollWidthは各viewport幅と一致しました。本文、画像、ナビゲーションのいずれもページ全体を横へ押し出していません。
スマホナビゲーションは横並びリンクではなくメニューボタンへ切り替え、開いた項目を縦に並べています。
ファーストビューの下に49px見せる
ヒーローを画面いっぱいにすると、下に続きがあることが伝わりにくくなります。今回は表示高844pxに対してヒーロー下端を795pxにし、次の概要帯を49px見せました。
端末のブラウザUIによって実際の可視領域は変化するため、49pxという数値自体を固定目標にはせず、次要素が見える設計意図を維持します。
三幅で同じ結果でも確認する意味
三条件すべてでページ幅とscrollWidthが一致し、ヒーロー高も732pxでした。差が出なかったのは、固定幅ではなく共通コンテナと折り返しを使っているためです。結果が同じこと自体が、狭い幅でもレイアウト規則が保たれた証拠になります。
ただし文字列が長くなれば同じCSSでも結果は変わります。記事タイトル、メールアドレス、英単語、表の列数など、幅を押し広げやすい内容を追加した後に再測定する運用が必要です。
この検証で確かめたかったこと
今回の出発点は「代表的な三つのスマホ幅で横スクロールやファーストビューの欠けが発生しないか」という疑問です。Web制作の記事では推奨値だけが独り歩きしやすく、条件が異なる結果を並べても判断材料になりません。そこで対象を当サイトの実ファイルへ限定し、変更した項目と固定した項目を分けました。数値が小さいか大きいかを競うのではなく、現在の構成で次の作業を決められるかを目的にしています。
想定している読者は、スマホ向けページの崩れを複数幅で機械的に確認したい人です。完成済みの大規模サイトではなく、少数の記事や画像から始める個人サイトでも追試できるよう、特別な計測サービスを前提にしていません。結果だけを持ち帰るのではなく、対象の選び方、単位、除外した要素まで確認すると、自分の環境との差を整理しやすくなります。
一次情報として残したもの
ブラウザのviewportを切り替え、scrollWidthと主要要素の矩形をJavaScriptで取得したことを記録の中心にしました。記事内の表は、その記録から必要な値だけを転記しています。一般的な解説を先に置いて数字を当てはめるのではなく、先に対象ファイルを決め、取得できた値から考察を書く順序です。元データと公開本文の数字が食い違わないよう、単位はbyte、px、件数など測定時の形式をできるだけ保ちました。
「360・390・430pxでトップを計測。横スクロールなしで次セクションを49px表示」の計測日は2026年6月10日です。Astro 5で静的出力した時点のファイルを対象としているため、素材やテンプレートを変更すれば値も変わります。この記事は永続的な基準値ではなく、スマホUIの状態を残したスナップショットです。再測定で結論が変わる場合は、更新日と変更理由を追記します。
結果を読むときの注意
ブラウザUIを含む実機の可視高さや文字レンダリングはデスクトップのエミュレーションと一致しない場合があるという限界があります。一つの指標だけで「速い」「使いやすい」「正しい」と断定しないことが重要です。たとえば容量が小さくても表示が崩れれば採用できず、規格上の目安を満たしても実際の操作が難しい場合があります。表の値は判断の入口であり、最終的な利用体験の代わりではありません。
このスマホUI検証で差が出なかった場合も、作業の優先度を下げる根拠になります。反対に大きな差が出た場合は、ブラウザのviewportを切り替え、scrollWidthと主要要素の矩形をJavaScriptで取得したという記録へ戻り、条件の混入や数え方を再確認します。都合のよい値だけを採用せず、対象、式、除外項目を本文へ残すのはそのためです。
実際の制作でどう判断したか
この結果を受け、当サイトでは「360pxを最小確認幅とし、390pxと430pxも公開前の定例確認へ含める」と判断しました。数値を掲載するだけではサイト改善につながらないため、CSS、画像の書き出し、記事テンプレート、公開前チェックのいずれかへ反映します。採用理由を文章にしておくと、後から別の設定へ変えるときにも、以前の判断を検証できます。
ただし「360pxを最小確認幅とし、390pxと430pxも公開前の定例確認へ含める」という判断を全ページへ一律適用するわけではありません。今回の対象と、トップ、記事、固定ページでは利用目的が異なります。ブラウザUIを含む実機の可視高さや文字レンダリングはデスクトップのエミュレーションと一致しない場合があるという限界もあるため、共通ルールを作ったうえで例外の理由を残す方が、数値だけを守るより保守しやすいと考えています。
同じ確認を再現する手順
再検証するときは、表示高844pxを固定し、三つの幅で同じ計測式を実行して横幅と要素位置を記録するのが基本手順です。最初に対象ファイルを複製するかビルド結果を保存し、変更前の値を残します。次に一度に変更する条件を絞り、同じ単位で変更後を取得します。最後に差分を計算し、画面上の見え方や操作も確認します。複数の変更を同時に入れると、どの変更が結果へ効いたのか分からなくなります。
自分のサイトで「360・390・430pxでトップを計測。横スクロールなしで次セクションを49px表示」と同じ確認を行っても、同じ数字になる必要はありません。重要なのは、表示高844pxを固定し、三つの幅で同じ計測式を実行して横幅と要素位置を記録するという条件を変更前後で揃えることです。OS、ツールの版、画面幅、対象URLなど結果へ影響する情報を残せば、数値が異なっても比較可能な一次記録になります。
次に確認する項目
今回扱わなかった要素は、ブラウザUIを含む実機の可視高さや文字レンダリングはデスクトップのエミュレーションと一致しない場合があるという点です。次回は対象を広げるのではなく、この不足を一つずつ切り分けます。ファイル容量の次に表示時間、寸法の次に実機操作というように、異なる種類の指標を組み合わせると、単独の数値による誤解を減らせます。
「360・390・430pxでトップを計測。横スクロールなしで次セクションを49px表示」を再現できないという連絡や数値の指摘が届いた場合は、ブラウザのviewportを切り替え、scrollWidthと主要要素の矩形をJavaScriptで取得したという一次記録と本文を照合します。結論へ影響する修正では更新日を変更し、何が変わったかを残します。スマホUIの記事を完成品として固定せず、サイトの変更とともに追試できる記録として維持します。
スマホUI記事の公開前チェック
スマホUIの記事では、個別の結果に加えて「狭い画面と片手操作でも、内容が欠けず次の行動を迷わず選べるか」を公開前の共通確認点にしています。今回の表だけが良好でも、関連する画面やファイルへ悪影響があれば採用しません。変更前の状態を残し、記事で扱った指標と実際の利用場面を往復して確認します。
このチェックは「360・390・430pxでトップを計測。横スクロールなしで次セクションを49px表示」の文字数を増やすためではなく、測定から公開判断までの抜けを減らすために使います。360pxから430pxまで横幅を確認する、固定寸法の要素が本文を押し出さないか見る、実機のブラウザUIを含む高さでも操作するを確認し、自動検査だけでは判断できない箇所を画面と文章で読み直します。読者が追試できない説明なら、数値が基準内でも公開しません。
スマホUIの記事を更新するときは、結論だけを新しい値へ置き換えず、検証条件、表、本文の参照値、タイトル、descriptionを順番に照合します。以前の手順を再現できなくなった場合は、ブラウザUIを含む実機の可視高さや文字レンダリングはデスクトップのエミュレーションと一致しない場合があるという制約がどう変わったかも記録します。どの変更で結果が動いたかを追える状態を優先します。
- 360pxから430pxまで横幅を確認する
- 固定寸法の要素が本文を押し出さないか見る
- 実機のブラウザUIを含む高さでも操作する
まとめ
360〜430pxでは横スクロールを発生させず、次の内容も少し見せられました。今後の記事ページでも同じ3幅を最低確認範囲として使います。