如何让一个IFRAME调用页面的背景为透明?
IE5.5和NN6以上的浏览器支持Frame ,Iframe对象的allowTransparency方法,如果某对象的背景颜色设置为Transparency的,它将继承包含它容器的特性。我们可以通过这个特性实现透明背景的开/关。
在FF下不存在背景不透明的问题,好像IE就要设一下.
在iframe中设置属性为
<iframe src="left.htm" scrolling="no" allowtransparency=true width="209" height="900" frameborder="0"></iframe>
在left.htm设置<body style="background-color:transparent">
如果不进行设置,则默认的背景色是白色.
具体实例如下:
a.html如下:
<HTML><HEAD><TITLE></TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
</HEAD>
<BODY style="BACKGROUND-COLOR: transparent">
<H1>透明文档</H1>
<P>此IFRAME无背景颜色</P>
<P>BODY:<br><BODY STYLE="background-color:transparent"></P></BODY></HTML>
b.html如下:
<HTML><HEAD><TITLE></TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
</HEAD>
<BODY style="BACKGROUND-COLOR: transparent">
<H1>透明文档</H1>
<P>此IFRAME 设为绿色。</P>
<P>BODY: <br><BODY STYLE="background-color:transparent"></P></BODY></HTML>
如果a.html透明的,它将继承IFRAME的背景颜色 如果容器IFRAME也是透明的,a.html将继承Iframe的父容器的颜色,如果一个对象不透明,它将覆盖其容器的颜色,默认是透明的。
Internet Explorer 5.5 以上版本允许你设置透明属性,通过设置是否可被透明,你可以改变背景的颜色。[在不设置透明属性的情况下,默认背景颜色为白色]
IFRAME定义如下:
<IFRAME ID="frame1" SRC="a.html" allowTransparency="true" HEIGHT=180 WIDTH=300> </IFRAME> <IFRAME ID="frame2"
SRC="b.html" allowTransparency="true" STYLE="background-color:#459800" HEIGHT=180 WIDTH=300> </IFRAME>
按钮定义如下:
<INPUT TYPE="button" VALUE="不透明" onclick="turnTransparencyOff()"> <INPUT TYPE="button" VALUE="透明"
onclick="turnTransparencyOn()">
<script>
//函数turnTransparencyOff():
function turnTransparencyOff()
{ document.all.frame1.allowTransparency = false; document.all.frame2.allowTransparency = false; }
//函数turnTransparencyOn():
function turnTransparencyOn()
{ document.all.frame1.allowTransparency = true; document.all.frame2.
在被ifame的页面里写
<body style="background-color:transparent">
调用页写
allowtransparency=true
这样只能让ifame的页面背景透明 但是滚动条依然不行
要想让全部都透明
要把ifame的页面的css属性里设置滚动条颜色
然后在调用页面<ifame>属性里写 style="filter:chroma(color=#ffffff)"
注意颜色要和被ifame的页面的滚动条颜色设置成一样的
这样不仅背景透明 连滚动条都透明了