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的问题吗?这种行为是随机,还是因为其他原因引起的?

阅读 4.2k
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题