画像の読み込みで文章がずれる原因と直し方|CLS対策のコード例
記事を読み始めた瞬間に文章やボタンが下へ動く場合、画像を表示する場所が読み込み前に確保されていない可能性があります。画像の寸法と比率をそろえ、変化が起きる場面を比較して確認します。
記事を読み始めた瞬間に文章やボタンが下へ動く場合、画像を表示する場所が読み込み前に確保されていない可能性があります。画像の寸法と比率をそろえ、変化が起きる場面を比較して確認します。
画像以外にも、広告やフォントがずれの原因になる。
画像の容量を小さくすることと、表示位置を安定させることは別の対策です。軽い画像でも表示用の場所がなければ文章が動くことがあり、大きい画像でも場所が確保されていれば動きは抑えられます。まず、「画像が出るまで長い」のか「表示された瞬間に周囲がずれる」のかを見分けて書き留めます。
Googleのweb.devでは、画像の寸法が指定されていないことをレイアウトずれの代表的な原因の一つとして説明しています。ただし、広告、フォント、後から追加する部品も原因になり得ます。この記事は画像周辺の確認に絞った手順で、ページ全体の速度や検索順位の改善を保証するものではありません。
通常の画像では、widthとheightを使って縦横比を示し、表示時の幅はCSSで調整できます。次は1200×675ピクセルの画像を使うコード例です。ファイル名・説明文・寸法は、自分の画像に置き換えます。
<img src="article-image.jpg"
alt="設定手順の全体像"
width="1200" height="675"
style="max-width:100%;height:auto">
数字は画面上で必ず1200ピクセルに広げる指示ではありません。上の例では親要素の幅に収め、比率を維持します。元画像が正方形なのに16:9の寸法を書くなど、実物と違う比率を指定すると見た目が変わるため、先に画像ファイルの寸法を確認します。
同じ場所で違う大きさの画像を配る場合は、各画像の比率も照合します。PCとスマホで意図的に切り抜き方を変える設計では、単に数字をコピーせず、それぞれの表示枠の比率を設計してください。参考: web.devのCLS改善ガイド、レスポンシブ画像の説明。確認日: 2026年9月10日。
画像の読み込みで文章がずれるときは、画像に幅と高さの指定がないことが原因の場合が多いです。修正では、まず主なページの画像に幅と高さを入れ、そのうえで容量の大きい画像を圧縮する順番で進めていました。
運営者の実務経験にもとづくメモです。すべての場合に当てはまるとは限りません。
スマホでは表を横にスクロールできます。
| 場所 | 確認すること | 避けたい状態 |
|---|---|---|
| 記事カード | 一覧内の表示比率と切り抜き位置 | 人物や文字が途中で切れる |
| 説明用の図 | 元画像の比率と文字の読みやすさ | 図の上下を切って意味が欠ける |
| 画面キャプチャ | 表示領域と必要な情報の範囲 | 無理に横長へ引き伸ばす |
| 記事上部 | 最初の表示時に確保される高さ | 見出しや目次が後から押し下がる |
一覧の高さをそろえるためのトリミングと、説明図を全文見せる表示は同じルールにしない方が判断しやすくなります。共通CSSを変えるときは、少なくともこの4場面の代表画像を一つずつ選んで確認します。
記録例は「記事上部の図/幅390px/画像表示時に目次が下がる/寸法指定後に再確認」のように、発生条件と変更点を分けます。目視だけでCLSの数値を推定せず、必要なら計測ツールで確認します。これは検証の記入例で、当サイトの改善実測値ではありません。
動いているのが文章でも、原因は文章以外にあるかもしれません。その直前に広告枠、埋め込み、通知バーが追加されていないかを確認します。ページ全体へ固定高さを付けて隠すのではなく、増える部品に必要な場所を確保するか、表示方法を見直します。
また、画像をすべて遅延読み込みにすれば解決するわけではありません。画面の最初に必要な画像と、下へ進んだときに必要な画像を区別します。まず1記事で確認し、代表的な画像で問題がないことを確かめてから共通設定へ広げましょう。容量や読み込み全体は表示速度改善の基本、画面幅ごとの確認はスマホ表示の点検へ進めます。
2026年9月29日、当サイトのイラスト画像(1672×941ピクセル)を使い、画像の返送を20秒遅らせるローカルページを作成しました。Chrome上で幅320 CSSピクセルに表示し、画像の読み込み完了前と後で画像枠の高さと直後の文章の位置を読み取りました。画像自体はAI生成の説明用イラストで、測定したのはその内容ではなく表示領域です。
同じ画像・幅・本文を使い、寸法指定だけを3通りに変えました。下表の値は小数第2位に丸めています。丸め前の観測値と確認条件(JSON)も参照できます。
表は横にスクロールできます。
| 指定 | 完了前 | 完了後 | 直後の文章の移動 |
|---|---|---|---|
| 寸法・比率の指定なし | 0px | 180.09px | 下へ180.09px |
| CSSで16:9を確保 | 180px | 180px | 0px |
| HTMLに1672×941を指定 | 180.09px | 180.09px | 0px |
HTMLに寸法属性がないだけで、必ずずれるとは判断できません。2行目のようにCSS側で比率を確保していれば、画像の到着前から場所を作れます。このサイトの既存3記事でも寸法属性がありませんでしたが、共通CSSには16:9の比率指定がありました。今回はHTMLにも元画像の寸法を補いました。これを「本番で180pxのずれが直った」という実績にはしていません。
1672×941の比率は16:9とわずかに異なります。幅320pxでは、元画像の比率に沿った高さは320 × 941 ÷ 1672 ≒ 180.09pxです。一覧用の切り抜きで16:9へそろえるなら180pxですが、文字のある説明図を切り抜くと情報を欠く可能性があります。元の比率を保持するか、枠に合わせて切り抜くかを用途に応じて選びます。
<img src="your-image.jpg" alt="画像で伝える内容"
width="1672" height="941"
style="display:block;width:100%;height:auto">
このコードは元画像の比率を保つ場合です。数値とパスは自分の画像に置き換えてください。別のCSSがaspect-ratioや固定高を指定している場合、表示はその設定にも影響されます。HTMLだけ見て終えず、ブラウザで適用されているスタイルも照合します。
今回記録した文章位置の移動量はCLSスコアではありません。CLSは表示領域や影響範囲などを使う指標で、ピクセルの移動量をそのままスコアへ読み替えられません。広告・フォント・実際の利用者の閲覧条件、SafariやFirefoxでの挙動は今回の測定対象外です。指標の説明はweb.devのCLS改善ガイドを参照してください。資料確認日:2026-09-29。
公開日: 2026-09-10
最終更新日: 2026-09-29
追記履歴