【发布时间】:2014-04-27 21:24:20
【问题描述】:
我有一个简单的场景:
http://jsfiddle.net/akosk/t2KvE/8/
HTML
<div id='base'>
<iframe id="myFrame" src="about:blank" frameborder="0" allowTransparency="true"></iframe>
</div>
<script id="content" type="text/html">
<html>
<head>
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"/>
</head>
<body>
<h2>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Possimus architecto quasi deleniti eius praesentium non officia culpa corporis officiis perferendis laudantium placeat excepturi. Voluptatum fuga mollitia reiciendis non aliquam dolorem!</h2>
</body>
</html>
</script>
JS
var myFrame = $("#myFrame");
var content = $("#content").html();
myFrame.contents().find('html').html(content);
CSS
iframe {
z-index:0;
height:100px;
}
#base {
background-color:red;
height:100px;
z-index:-1;
}
在 Chrome 和 IE 中 iframe 的背景颜色是白色,而不是包装器的颜色(红色)。在 Firefox 中它工作正常。
另外在 Chrome 中检查元素时 iframe 中没有 HEAD 和 BODY 节点。
当我删除 css(引导程序)时,一切正常。 不知何故,如果我在 HEAD 中写入任何内容(fe.任何 css!)透明度不起作用并且 HEAD/BODY 标签消失。
(我在 iframe 中尝试使用 * {background-color:transparent} 也没有成功。我想问题是别的)
这对我来说是一个巨大的谜。
谁能帮帮我?
【问题讨论】: