使用 wmode= 在 SWF 对象上分层 HTML 元素 "direct"



我已经搜索了一段时间,关于如何在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的背景中,所以你不能制作任何透明的。

最新更新