今天工作室一个学生在群里问如何将div放在Flash上(也就是div前置)的问题,我在以前用过一个方法就是在swf的嵌入参数列表中加入:
<param name="wmode" value="oqaque" />
不过在同时,阿唐给出了另一个方法:
<param name="wmode" value="transparent" />
经火狼验证,这两种方法竟然都生效了.
经分析,我认为
transparent是负责透明的,显出浮动估计是他影响到了div的顺序
而oqaque才是专门负责让Flash位于div之下正规方法.
经测试谷歌浏览器老兄不知什么原因竟然崩溃了,�**兰坪蚦aptivate导出的Flash不兼容吧.
换了一个swf,再用transparent测,无论哪种方法在chrome和firefox都是无效的.经研究发现,原来,还需要在embed里面也加上wmode="transparent"
但是oqaque却在任何一种方法下都是不生效的,也就是说明transparent的兼容性更好.
再测试 如果在embed里加入了wmode="transparent" ,那么 <param name="wmode" value="transparent">,可以不写了,也就是embed的参数优化级更高!
总之得出最后结论代码案例如下是最科学的:
<div id="Layer1">
<p>fdsfdsfdsaf</p>
<p>fdasfd</p>
<p>fd</p>
<p>sa</p>
</div>
<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="641" height="522">
<param name="movie" value="/blog/swf/kqrd2.swf" />
<param name="quality" value="high" />
<embed src="/blog/swf/kqrd2.swf" quality="high" wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="641" height="522"></embed>
</object>