关注互联网、体验互联网,记录成长历程

Flash的层叠顺序问题(z-index)

2009-01-08

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

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

比如这个页面:Flash的层叠顺序(z-index)

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

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

比如这个页面:Flash的层叠顺序(z-index)

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

分类目录:前端开发 | 标签: | 查看:8,338

3 条评论

  1. NetPuter 说道:

    的确,当初开发模板的时候,就是遇到这个问题..卡了2个小时,后来一搜”div flash”就发现解决方案了,就是你说的这个~

  2. wangyue 说道:

    今天还在为这事烦恼呢,看到你这篇文章问题解决了~ 谢谢分享!

  3. leo.china.leo 说道:

    写了,已经弄好

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>