IE自动给图片加上width和height属性的修复

IE自动给图片加上width和height属性的修复

作者:吴业飞
时间:2018.07.25

情景再现

在项目中写了一个图片列表,再普通不过的一行3张图,用的是栅格布局,html代码大概如下

	<div class="row">
	  <div class="col-md-4"><img src="" alt=""></div>
	  <div class="col-md-4"><img src="" alt=""></div>
	  <div class="col-md-4"><img src="" alt=""></div>
	</div>
复制代码

在全局CSS我是申明了

	img {
	    max-width: 100%;
	}
复制代码

按照预期不管图片尺寸怎样应该是自动填充满容器达到自适应效果的,在Chrome下确实也是一切正常,可是在IE下(测试版本IE10),发现IE自作聪明地把图片原始尺寸加到了img标签上,像这样<img width="750px" height="750px">,这样一来虽然还是一行3张图没毛病但是图片以原始尺寸显示被挤压地很丑,没有等比缩放。不管这是特性还是bug,都得修复!

解决方案

在靠近</body>的地方加上

<script>
    window.onload = function () {
    // fix bug for IE auto add width/height at img
    var img = document.getElementsByTagName("img");
    var len = img.length;
    for(var i = 0;i < len;i++) {
      img[i].removeAttribute("width");
      img[i].removeAttribute("height");
    }
</script>
复制代码

原理就是在图片渲染完后清除图片上的width和height属性。


版权声明:自由转载-非商用-非衍生-保持署名

转载于:https://juejin.im/post/5c11c34ee51d4517bf65396e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值