私のモバイル Web サイトでは、異なるが既知の高さ/幅の画像を 2 つの制約付きで表示したいと考えています。
- 画像はブラウザビューの幅全体を占める必要があります
- プロポーションを維持するために、それに応じて高さを拡大または縮小する必要があります
ブラウザーが画像をダウンロードするとすぐに、次の CSS を使用すると非常に簡単です。
<img src="myImageURl" style="width: 100%; height: auto;" />
ただし、画像の読み込みには時間がかかるため、ダウンロードする前にブラウザーに画像をレイアウトしてもらいたいと考えています。そのため、ブラウザは画像を取得したら、ページを再レンダリングする必要はありません。次のアプローチを試しましたが、失敗しました。
// The image is not layouted before fetched
<img src="myImageURl" height="myImageHeight" width="myImageWidth" style="width: 100%; height: auto;" />
// The image is layouted, but wrong: height is not proportional to the width anymore
<img src="myImageURl" style="width: 100%; height: myImageHeight;" />
ここで何か助けていただければ幸いです。ただし、CSS でお願いします。必要がなければ、Javascript / jQuery を使用したくありません。
アップデート
この問題を抱えているのは私だけではないと思います: https://graphicdesign.stackexchange.com/questions/3274/fluid-images-how-to-set-width-and-height