iframe框架在IE浏览器下将白色背景设为透明色

(编辑:jimmy 日期: 2024/12/22 浏览:2)

最近在做项目的过程中需要频繁的使用iframe画页面的层级框架,大部分浏览器是没有背景的,但是iframe在IE中默认是有一个白色的背景色的,当主背景色不是白色的时候,在这一部分会显得很突兀。帮助手册中给出了解决方案,即将iframe中的allowTransparent属性设置为true,即可。在帮助文档中也给出了相应的示例,示例如下:

复制代码代码如下:
<BODY STYLE="background-color: red">
<IFRAME ID="Frame1" SRC="transparentBody.htm" allowTransparency="true">
</IFRAME>
<IFRAME ID="Frame2" SRC="transparentBody.htm" allowTransparency="true"
STYLE="background-color: green">
</IFRAME>
<IFRAME ID="Frame3" SRC="transparentBody.htm">
</IFRAME>
<IFRAME ID="Frame4" SRC="transparentBody.htm"
STYLE="background-color: green">
</IFRAME>
</BODY>

理论上,这样做就没问题了,但是呢IE好像反应不大,依旧还是有白色的背景。其实到了这一步,我们还需要在子页面的<body>标签添加<body bgColor="transparent">,示例如下:
http://img.blog.csdn.net/20140610165850968?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva3VucGVuZ19tdWJhbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

main.html主页面代码:

复制代码代码如下:
<html>
<head>
<title></title>
</head>
<body style="background-color:blue;">
<table
style="width:100%;border:0;height:100%;cellpadding:0;cellspacing:0">
<tr height="100%">
<td height="100%" width="30%">
<iframe id="test1" src="/UploadFiles/2021-03-30/test1.html"><td height="100%" width="40%">
<iframe id="test2" src="test2.html"><td height="100%" width="30%">
<iframe id="test3" src="test3.html"></tr>
</table>
</body>
</html>

test1.html页面代码:

复制代码代码如下:
<html>
<head>
<title></title>
</head>
<body bgcolor="transparent">
<h1>test1</h1>
</body>
</html>

test2.html页面代码:

复制代码代码如下:
<html>
<head>
<title></title>
</head>
<body>
<h1>test2</h1>
</body>
</html>

test3.html页面代码:

复制代码代码如下:
<html>
<head>
<title></title>
</head>
<body>
<h1>test3</h1>
</body>
</html>

这个小例子主要是iframe标签的allowTransparency属性应用,在该属性设置为true并且iframe所加载的子页面的<body>标签背景颜色设置为transparent(透明)时,iframe将透明化。

allowTransparency设置或获取对象是否可为透明。
bgColor 设置或获取对象的背景颜色。

一句话新闻

Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。