フロントエンドカンファレンス北海道2025
LT(5分)
北海道在住 北海道出身

そのnext/image、正しく最適化されてる?fill=trueの罠

karintou74073 かりんとう karintou74073
3

next/imageを触ったとき、「widthとheightの数値指定が必須!?widthを親要素の100%でアスペクト比を維持したいな。。。」と悩んだことはありませんか?
そこに現れた救世主、fill=true。なんとこの要件をいとも簡単に満たしてくれます。
これで表示されているし一件落着。。。しかしここには1つ落とし穴があります。

next/imageを採用する理由の1つは、画像サイズを表示領域に合わせるように最適化して配信してくれることです。
しかし、fill=trueだと事前に取得したい画像サイズが不明であり、多くの場合では表示領域より巨大な画像が取得されてしまいます。

本トークでは起こりうる状況・原因・解決策を、imgタグ、devicePixelRatioの話を絡めつつお話します。