我已经搜索了一段时间,关于如何在SWF对象上分层html元素,最后我得到了(根据Abode):-
Internet Explorer:根本不支持分层。
Firefox:不支持分层(但它有效,但没有透明度)。
Chrome:Adobe声称它不受支持,但令人惊讶的是,它运行良好且透明。
Safari(Windows):根本不支持分层。
safari(Mac OS):支持。
我知道我可以很容易地设置wmode="transparent"或wmode="opaque",分层效果很好。但我发现,对于包含3D内容的SWF对象,其wmode必须设置为"direct"或"gpu"。
如果有人知道这个问题的任何解决方案,我会很感激,因为我正在flash上开发一个游戏,我想用html元素覆盖它,但我没有找到任何确切的答案,无论它是否可能
提前感谢
经过几次尝试,我得到了一个在Firefox上运行的解决方案;即。它有点脏,但在某些情况下有效。
一个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",也可以在闪光灯上添加元素。但你需要记住,iframe在flash顶部html的背景中,所以你不能制作任何透明的。