点击这里给我发消息 点击这里给我发消息
首页 > 行业资讯 > flash>详细内容

Flash动画默认总是会显示在网页页面的最顶层的原理

添加时间:2013-12-6
    相关阅读: 网页 技术 页面 HTML flash

以前知道解决方法,但是不知道为什么会出现这种情况,就像css权重的问题似的,看过这本书才知道某些做法的缘由。

Flash 默认总是会显示在页面的最顶层,也就是说如果页面上存在一些DHTML Layer,那么这些层将会被Flash盖住。即使设置了 z-index 属性也无济于事。如果你需要一些 LightBox 的弹出层,页面上的Flash可能会让其效果丑陋不堪。

Adobe 的技术知识库里提供了解决的办法: Flash content displays on top of all DHTML layers。

给<object> 标签增加wmode参数针对IE
<param name="wmode" value="transparent">


给<embed> 标签也增加类似参数 针对FIREFOX
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="sss">
<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标签嵌入,ff下embed标签嵌入)所以我们需要对两种标签记性设置】

如上面的例子或者下面的例子(哈哈其实就一个啦)

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="756" height="200" >
<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>

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册