zoukankan      html  css  js  c++  java
  • 解决IE下iframe默认有白色背景的bug

    又是一个IE莫名其妙的bug:做了一个弹出层,层里面是一张透明图片,IE下的iframe默认会有一个白色的背景,所以当iframe的外围背景并不是白色的时候,这个iframe就会显得非常的“与众不同”。

    这个背景是iframe本身的,不是iframe内的html元素的,所以,只对iframe进行相关设置就能去掉这个背景。

    iframe有一个并不常用的属性:allowTransparency,意思是是否允许透明——蛋疼的是IE下好像默认是false,很多大网站的iframe上也没有加上这一条,所以这讨厌的白色背景经常会看到。

    现在对iframe如下设置:<iframe allowTransparency="true" />(观影团这个用过,比较管事)

    现在允许透明了,那是不是就搞定了呢?为了保险起见,还是手动设置一下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<l;i++) {
          ifra[i].setAttribute('allowTransparency','true');
        }
      }

    用javascript中的setAttribute方法来设置iframe的allowTransparency,以上代码没什么说的,但请放入只针对IE的注释中,因为这代码对firefox,chrome之流是不必要的。

  • 相关阅读:
    【转】android布局属性详解
    【转】Android开发学习笔记:5大布局方式详解
    【转】android:layout_gravity和android:gravity的区别
    【转】Android fill_parent和wrap_content分析
    @SuppressWarnings的使用、作用、用法
    android bin目录下的.ap_是神马文件?
    Android 工程目录结构简介
    安卓dalvik和art区别
    Android下HelloWorld项目的R.java文件介绍
    android的R.java
  • 原文地址:https://www.cnblogs.com/jiangtuzi/p/3272030.html
Copyright © 2011-2022 走看看