Flash动画总是会显示在网页最顶层的解决方法 | 胡鹏博客
首页 > 其它 > Flash动画总是会显示在网页最顶层的解决方法
2013七月25

Flash动画总是会显示在网页最顶层的解决方法

最近做的一个专题页面,本想设置某个层在最上面,z-index也设为很大的了,但还是被网页中的flash的遮住了,与是查找相关资料得知Flash 默认总是会显示在页面的最顶层,也就是说如果页面上存在一些DHTML Layer,那么这些层将会被Flash盖住。即使设置了 z-index 属性也无济于事。Adobe 的技术知识库里提供了解决的办法: Flash content displays on top of all DHTML layers。
参数针对IE:<object> 标签增加wmode
<param name="wmode" value="transparent">

针对FIREFOX给<embed> 标签也增加类似参数
wmode="transparent"
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="756" height="200"
accesskey="1" tabindex="2" title="seo">
<param name="movie" value="*.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent">
<embed wmode="transparent"  src="*.swf"  quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash"  width="756"  height="200"></embed>
</object>

下面胡鹏博客对上面的代码进行详细的解析:
flash插入网页中,如果和其他元素有重叠,无论我们如何设置z-index,Flash都会浮动在其他元素之上。这是为什么呢?
1、其实与z-index无关,浏览器解析页面时,会先判断元素的类型,如果是窗口类型的,会优先于非窗口类型的元素,显示在页面最顶端,如果同属于非窗口类型的,才回去判断z-index的大小。
2、Flash嵌入网页中,有个wmode属性,用于指定窗口模式,其值有window窗口、opaque非窗口不透明、transparent非窗口透明三种。其中window表
示Flash以窗口形式显示,opaque和transparent表示Flash以非窗口的形式显示,如果不显示这是wmode属性,默认的wmode的值为window。无论我们如
何设置z-index也不会有效果。解决的办法就是这事wmode属性为opaque或transparent。因为Flash在ie和ff下是用不同的标签嵌入的(ie下一boject标签嵌入,firefox下embed标签嵌入)所以我们需要对两种标签记性设置.
通过代码的相关的解析,相信大家应该能够很好的理解为什么flash插入网页中,如果和其他元素有重叠,无论我们如何设置z-index,Flash都会浮动在其他元素之上呢!同时也会使用本文章中给出的方法很好的解决这个问题。

更多

文章作者:东莞seo
本文链接地址:http://www.seostudying.com/1577.html
欢迎转载,转载请注明出处»胡鹏博客 [Flash动画总是会显示在网页最顶层的解决方法]

本文目前尚无任何评论.
您必须在 登录 后才能发布评论.