Flash默认总是会显示在页面的最顶层,也就是说如果页面上存在一些Div Layer,那么这些层将会被Flash遮盖住,即使设置了z-index属性也起不到任何作用。通过询问与查找资料,发现有三种方法可以解决这种问题。
第一种方法:在Div中嵌套iframe,然后对Div的样式进行设置,这样就可以保证Div中的元素显示在Flash的上面。
第二种方法:一种就是设置flash为透明。针对IE,给<object>标签和<embed>标签增加wmode参数,即 <param name=”wmode” value=”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="750" height="530" title="aa" align="middle">
<param name="movie" value="flash/HaiZiSYT.swf" />
<param name="quality" value="high" />
<param name="SCALE" value="exactfit" />
<param name="wmode" value="opaque">
<embed src="flash/HaiZiSYT.swf" wmode="opaque" width="150" height="280" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" scale="exactfit" ></embed>
</object>
第三种方法:设置flash置底。将上述示例中的<object>标签和<embed>标签的wmode参数变为opaque,也可以达到预期效果。即 <param name=”wmode” value=” opaque”>
其中,后两种方法是不需要在Div中嵌套iframe的。