问题描述:
在网站制作中,所插入的flash经常会挡住其他元素,很是苦恼.
解决办法:
如果是IE,我网上搜索很多资料,发现通常会使用网上比较流行的做法,在如下代码中,插入红色这行代码,如下:
------------------------------------------------------------------------------------------------------------------------------
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="" width="960" height="270">
<param name="movie" value="swf/focus.swf" />
<param name="quality" value="high" />
<PARAM NAME="wmode" VALUE="transparent">
<param name="wmode" value="transparent">
<embed src="swf/focus.swf" quality="high" pluginspage="" type="application/x-shockwave-flash" width="960" height="270"></embed>
</object>
------------------------------------------------------------------------------------------------------------------------------
这行代码是设置添加后,即可让flash浮在下面去了.
那么接下来,很多朋友包括我,为了网站的浏览器兼容问题,会把上面做好的页面放入到firefox中去测试,却郁闷的发现:firefox中,flash还是挡住其他元素!!!如何解决,接下往下看:
这个时候,很多朋友想到了z-index属性,可是当你去对含有flash的div和其他被挡住div的z-index进行设置的时候,却郁闷的发现:这个属性并没有效果!!
这是因为在HTML中,如果嵌入SWF,它默认的会将它放在页面的最上面;任何页面里的元素都是无法将它盖住的,就算用{jd1}定位,将z-index设的无穷高,也没用.
彻底解决办法如下:
------------------------------------------------------------------------------------------------------------------------------
<embed src="swf/focus.swf" quality=high width=960 height=270 wmode=transparent type='application/x-shockwave-flash'></embed>
------------------------------------------------------------------------------------------------------------------------------
你只需用上面标红的代码去替换---->上面灰色部分的代码.就可以了.再去firefox下测试,OK了吧!呵呵!
-----------------------------------------------------------------------------------------------------------------------------------
究其原因:为什么会这样呢?这是因为有的浏览器支持 object,有的支持 embed
本站原创------柴高八斗/2010年2月4号
.
编加小知识:
在Adobe Flash的发布设置里关于HTML的设置有一项是“窗口模式”,这里面提供了三个选项,分别是:窗口(window)、不透明无窗口(opaque)、透明无窗口(transparent)。
这三种模式分别表示着Flash在页面中的三种表现形式,根据这三种表现形式,我们就找到了解决这个问题的方法,就是将页面中的Flash模式(wmode)设置为不透明无窗口(opaque)或者是透明无窗口(transparent),在这两种模式下页面中的Flash将与HTML结构是处于同一级别的,所以就可以通过z-index来控制页面中的重叠部分到底是Flash显示在上还是HTML结构显示在上。
当我们需要在页面中加载一个弹出Flash广告时,并且不希望它被页面中的其它Flash所遮挡时,就可以使用这种方法来解决。同样的如果这个弹出Flash是不规则形状的时候,就可以将模式(wmode)设置为透明无窗口(transparent),这样即可以除去Flash本身所带有的背景。