← エラー辞典に戻る

HTML

画像が遅延読み込みされない

loading="lazy" が効いていない

こんな症状

loading="lazy"を付けたのに画像が最初から全部読み込まれる。条件が揃っていないときに起きるよ。

まず試す

img に width/height を付け、loading="lazy" はファーストビュー外の画像にだけ使う。

html
<img src="photo.jpg" loading="lazy" width="800" height="600" alt="写真">

これで直らなければ、下の「自分のケース」を確認。

🔍 自分のケースはどれ?

  • width/height が無い
    → <img> に width/height を付ける(レイアウト計算に必要)。
  • ファーストビューの画像に付けた
    → 最初に見える画像は lazy が無視される。外す。
  • 効いているか分からない
    → Networkタブでスクロール時に読み込まれるか確認する。

なぜ起きる?

loading="lazy"はビューポートから離れた画像にのみ効果があるよ。ファーストビュー内の画像には効かないんだ。また、width/height属性がないとブラウザがレイアウトを計算できず、遅延読み込みが正しく動作しないことがあるよ。

✕ エラーが起きるコード
<img src="photo.jpg" loading="lazy">
<!-- width/height がなく効かない場合がある -->
✓ 直したコード
<img src="photo.jpg" loading="lazy" width="800" height="600" alt="写真">
<!-- サイズを明示 -->

✅ 直ったか確認

Networkタブで、画面外の画像がスクロール時に読み込まれればOK。

🆘 まだ直らないときは

画像が少なく全部ファーストビューに入ると、lazy の効果はそもそも見えにくい。

Q&Aで質問する →

この解決法は役立ちましたか?

🔗 関連するエラー

📖 この問題を学べるレッスン

HTMLコース(基礎から)で根本から理解する →

✏️ 手を動かして練習

練習ドリル一覧で実際に書いて確認する →

📝 関連ブログ記事

📖 関連する用語

🚀 HTMLコースで基礎を学ぼう!

エラーの原因を根本から理解するには、基礎を体系的に学ぶのが近道です。完全無料・登録不要。

HTMLコースを始める →

❓ 関連するQ&A