在不使用wmode的情况下将div放在flash上方

4
我有一个广告,它基本上是一个IFRAME中的Flash文件。不幸的是,我无法控制Flash文件的wmode。
有没有办法让div放在Flash上面?
更新:Wibiya(wibiya.com)是如何做到的呢?
2个回答

3
不行。无窗口对象与有窗口对象(例如IE中的ActiveX控件)在不同的“平面”上呈现。微软的解释显然只适用于Internet Explorer,但其他浏览器似乎也以类似的方式工作。
所有有窗口元素都会将自己绘制在所有无窗口元素之上,尽管其容器可能希望相反。然而,有窗口元素确实遵循z-index属性相互关系,就像无窗口元素遵循z-index属性相互关系一样。
所有无窗口元素都在同一个MSHTML平面上呈现,而有窗口元素则在单独的MSHTML平面上绘制。您可以使用z-index来操作同一平面上的元素,但不能将其与位于不同平面中的元素混合使用。您可以重新排列每个平面上元素的z-index,但是有窗口平面始终绘制在无窗口平面之上。
这实际上是广告服务的好处-它防止发布者掩盖、覆盖和轻微修改他们的广告(例如,在广告前放置图像以使其与网站融为一体)。
链接:http://support.microsoft.com/kb/177378

3
您可以尝试使用iframe剪切hack,这在许多浏览器中得到支持,以实现向后兼容性。

http://neugierig.org/software/chromium/notes/2009/07/windowed-windowless-plugins.html

在任何您想要底层HTML“渗透”的地方添加一个绝对定位的空iframe,其尺寸应正确。这可能是Wibiya所做的方式,尽管我没有看过。如果您正在寻找灵感,Closure提供了一个辅助类来完成这种类型的事情:http://code.google.com/p/closure-library/source/browse/trunk/closure/goog/ui/iframemask.js

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接