IE 11では、Firefox/Chromeではなく、動的に作成された画像の幅と高さの属性をIEが設定しているように見えるため、画像の縮尺が正しくありません。IEでJavaScriptの画像が異なる動作をする
$(function() {
var image = new Image();
image.src = "http://placehold.it/350x1200";
$("div").append($(image));
})
div {
width: 100px;
max-height: 100px;
}
img {
max-width: 100%;
max-height: inherit;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
</div>
私はSRCを設定する前に、未定義または/後0に寸法を設定しようとしたが、その後の画像はレンダリングされません。
IEの追加チェックなしでブラウザ間の整合性をどのように達成できますか?画像がキャッシュされているかどうかにかかわらず、すべてのブラウザで機能するように、適切なタイミングでwidth/height属性を削除する方法はありますか?また、私はあらかじめ画像の大きさを知らないかもしれません。
注::この問題はSOのスニペットでは表示されませんが、jsfiddleとローカルのhtmlファイルで表示されます。
編集:ここではは、画像は、Firefox/Chromeで次のようになります。
これは、IE11である:
max-widthスタイルルールでは、相対値ではなく絶対単位が使用されます。子ブロックのインラインブロック要素のサイズを親ブロック要素に合わせるにはstyle = "width:100%" –
を使用します。関連:http://stackoverflow.com/questions/18922942/internet-explorer-adds-height-and-width-attributes-新しく追加された画像-au – user764754