我已经搜索了一段时间关于如何在 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 和 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背景中,所以你不能做任何透明。
关于html - 使用 wmode ="direct"在 SWF 对象上分层 HTML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13801098/