IE11图片加载为什么会自动给img添加width,height属性

使用如下代码加载图片:

var url = "http://placehold.it/900x450";
var img = new Image();
img.src = url;
img.onload = function(e){
    document.appendChild(img);
};

在IE11下查看最后的DOM元素,发现有时候img元素会被自动添加 width 属性与 height 属性,有时候又不会,请问这是为什么呢?Stackoverflow上有类似的问题:

但是里面的回答都没有讲明原因,难道这只是IE的问题吗?这种行为是随机,还是因为其他原因引起的?

阅读 2.6k
评论
    1 个回答

    IE在没有为<img/>同时设置CSS的width&height时,会把图像实际宽高赋值给width&height属性,从而影响布局,尤其是使用2倍大小。本人目前的解决方案是在base样式里为所有img新加{width:auto;height:auto}以覆盖属性样式。供初步参考。