我一直在寻找如何在SWF对象上层叠html元素,最后我想出的是(根据Abode): -
Internet Explorer :根本不支持分层。
Firefox :不支持分层(但它有效,但没有透明度)。
Chrome :Adobe声称它不受支持,但令人惊讶的是它运行良好且透明。
Safari(Windows):根本不支持分层。
safari(Mac OS):支持。
我知道我可以轻松设置wmode =“transparent”或wmode =“opaque”,分层工作就可以了。但我发现,对于包含3D内容的SWF对象,其wmode必须设置为“direct”或“gpu”。
如果有人知道这个问题的任何解决方案,我会很感激因为我正在开发一个关于Flash的游戏我想用html元素覆盖它并且我没有找到任何坚定的答案是否可能
提前致谢
答案 0 :(得分:2)
经过几次尝试后,我得到了一个解决Firefox& IE浏览器。 它有点脏,但在某些情况下有效。
iFrame显示在swf的顶部,因此您可以在iframe中添加分层html。
你可以进一步将iframe设置为背景,只需要为即将到来的html保持清晰。 HTML:
<div class="box">
<iframe src="emptyframe.html" frameborder="0" class="emptyiframe"></iframe>
<div class="content">
Shown on top
</div>
</div>
CSS:
.box { position: absolute; z-index: 100; background: #fff;}
.emptyiframe { position: absolute; width: 100%; height: 100%; border: none; z-index: -1; }
使用此解决方案,即使使用wmode =“direct”,也可以在flash上添加元素。但是你需要记住,iframe是在flash顶部的html背景中,所以你不能透明。