你的位置:首页 > 网页设计

[网页设计]Flash与DIV的层叠顺序问题


很多人在写页面代码时都会遇到过这样一个问题,那就是当Flash与页面中的其它HTML结构有重叠的时候,默认情况下Flash总是显示在最上 面,从而遮挡住了与它有重叠部分的HTML结构,就算为该Flash或是HTML结构标签定义z-index属性却依然是无效的。

因为默认情况下在网页中添加的Flash在浏览器中是以窗口模式存在的,是独立于浏览器的HTML结构渲染的,所以这种情况下的Flash会遮盖住与它重叠的HTML。

在Adobe Flash的发布设置里关于HTML的设置有一项是“窗口模式”,这里面提供了三个选项,分别是:窗口(window)、不透明无窗口(opaque)、透明无窗口(transparent)。


这三种模式分别表示着Flash在页面中的三种表现形式,根据这三种表现形式,我们就找到了解决这个问题的方法,就是将页面中的Flash模式 (wmode)设置为不透明无窗口(opaque)或者是透明无窗口(transparent),在这两种模式下页面中的Flash将与HTML结构是处 于同一级别的,所以就可以通过z-index来控制页面中的重叠部分到底是Flash显示在上还是HTML结构显示在上。

当我们需要在页面中加载一个弹出Flash广告时,并且不希望它被页面中的其它Flash所遮挡时,就可以使用这种方法来解决。同样的如果这个弹出 Flash是不规则形状的时候,就可以将模式(wmode)设置为透明无窗口(transparent),这样即可以除去Flash本身所带有的背景。

IE里
<param name="wmode" value="Opaque">
firefox里
<embed wmode="transparent"></embed>

一般是两个都加进去。