解决IE下iframe默认有白色背景的bug-创新互联
又是一个IE莫名其妙的bug:做了一个弹出层,层里面是一张透明图片,IE下的iframe默认会有一个白色的背景,所以当iframe的外围背景并不是白色的时候,这个iframe就会显得非常的“与众不同”。
这个背景是iframe本身的,不是iframe内的html元素的,所以,只对iframe进行相关设置就能去掉这个背景。
iframe有一个并不常用的属性:allowTransparency,意思是是否允许透明——蛋疼的是IE下好像默认是false,很多大网站的iframe上也没有加上这一条,所以这讨厌的白色背景经常会看到。
现在对iframe如下设置:(观影团这个用过,比较管事)
网站名称:解决IE下iframe默认有白色背景的bug-创新互联
本文路径:http://scjbc.cn/article/dgpshj.html
这个背景是iframe本身的,不是iframe内的html元素的,所以,只对iframe进行相关设置就能去掉这个背景。
iframe有一个并不常用的属性:allowTransparency,意思是是否允许透明——蛋疼的是IE下好像默认是false,很多大网站的iframe上也没有加上这一条,所以这讨厌的白色背景经常会看到。
现在对iframe如下设置:(观影团这个用过,比较管事)
现在允许透明了,那是不是就搞定了呢?为了保险起见,还是手动设置一下iframe的背景透明吧。CSS如下:
企业官网是企业形象的一张重要名片。成都创新互联公司的成都官网定制服务,能够将成都网页设计与企业的实力&公信力、产品服务优势、文化价值观等有机结合,把握企业的独特之处,突出重点核心内容,并以恰如其分的设计风格,抓住目标用户的关注点和兴趣点,帮助企业塑造好第一印象,营销型网站展现公司实力。成都官网定制,为你解决成都创新互联网营销解决方案。iframe{background: transparent;}
至此,问题就已经解决了。但还有一些特殊情况:有时候iframe不是HTML中本身写的,是用Javascript加载进来的,这时虽然以上的CSS可以生效,但却没法给iframe本身加上allowTransparency属性了,这时候怎么办呢?
迫不得已,只有用JS了。
window.onload = function(){
var ifra=document.getElementsByTagName('IFRAME');
for(var i=0,l=ifra.length;i
ifra[i].setAttribute('allowTransparency','true');
}
}
用javascript中的setAttribute方法来设置iframe的allowTransparency,以上代码没什么说的,但请放入只针对IE的注释中,因为这代码对firefox,chrome之流是不必要的。
网站名称:解决IE下iframe默认有白色背景的bug-创新互联
本文路径:http://scjbc.cn/article/dgpshj.html