Flash 默认总是会显示在页面的最顶层,也就是说如果页面上存在一些DHTML Layer,那么这些层将会被Flash盖住。即使设置了 z-index 属性也无济于事。如果你需要一些 LightBox 的弹出层,页面上的Flash可能会让其效果丑陋不堪。
Adobe 的技术知识库里提供了解决的办法: Flash content displays on top of all DHTML layers。
给<object> 标签增加wmode参数
<param name="wmode" value="transparent">
给<embed> 标签也增加类似参数
wmode="transparent"
除去Flash等<object>控件, 在IE6中, <select>标签也会覆盖于DHTML层之上,具体参见本站文章 IE7 将改良Select控件。
我在附件中提供了一个简单的 DHTML InlinePopup Example。演示一个DHTML弹出层如何覆盖于flash或<select>之上,按 ESC 键隐藏弹出层。 注意需要prototype.js库 。
转载