0

IE9 で jQuery Mobile サイトをテストする過程で、次のようなことがわかりました。

<img src=... width='100%' height='auto'/>

IE9 では機能しません - 画像は高さのない長い水平線として表示されます。IE が auto 属性を理解していないか、または0を意味するものとして解釈しているようです。高さ属性を完全に除外すると、うまくいきます。画像は希望どおりに表示され、他のすべてのブラウザでも問題ないようです。

問題が解決しました?まあ、これは私を少し混乱させているので、そうではありません。私は常に、画像の高さと幅を指定すると、ブラウザがページをレンダリングするのに役立つと信じていました。これは、画像がフェッチされる前に、画像に割り当てる必要があるスペースをブラウザが知っているためです。したがって、「height = auto を除外する」トリックは、ブラウザが画像データを取得してページ レイアウトを確立するまで、他のページ リソースのフェッチを保留するため、ページ レンダリングが遅くなることを意味します。

4

1 に答える 1

1

「ブラウザは、画像データを取得してページレイアウトを確立するまで、他のページリソースの取得を保留しますか?」間違っている。これは、netscape 以来、そうではありませんでした。実際、これは、画像が取得され、サイズが決定され、ページが単純に「リフロー」されるまで、ページがレンダリングされ続けるという Netscape の重要な革新の 1 つです。

コメントで述べたように。高さが分からない場合は削除してください。auto に設定しても、ブラウザはまったく役に立ちません。

于 2013-01-15T04:42:15.893 に答える