页面上的漂浮图片飘到flash那儿的时候,被flash盖住了,不管将图片样式中的z-index设置成多少都无效,后来搜索了一下,发现原来是要修改flash的属性的。
falsh设法
先来看flash,网站上要显示swf文件有两种方法:
1,传统的<object> + <embed> 显示swf文件
2, 官方(adobe)建议:尽量使用他提供的AC_RunActiveContent.js 和C_ActiveX.js 来显示swf文件,并另外用<noscript>将原本的<object><embed>包装进来,以防使用者把javascript关闭的情况。
Adobe 提供的 JS 文件下载地址: activecontent_samples.zip
AC_RunActiveContent.js: 您可使用此文件来解决「外部 JavaScript 解决方案: 适用动态内容的多种情况」中所述的 Flash 和 Shockwave 内容问题。
AC_ActiveX.js: 您可使用本文件来解决「其他动态内容类型的解决方案」一节所述的问题。
SampleActiveContent.html: 本文件提供程式码范例, 当您在使用 AC_RunActiveContent.js 和AC_ActiveX.js 文件时, 可用于 HTML网页中。
详细使用方法可以下载zip文件后, 看 SampleActiveContent.html 即可.(若不用 ActiveX, 可以不用载入AC_ActiveX.js)
CSS z-index 属性
再来看 CSS, CSS 的 z-index 属性: CSS z-index Property, z-index 是数值越大浮在页面上的越上面, 但是 z-index 只能在使用 position(CSS Positioning) 的范围内才有效(ex: position:absolute/relative/fixed 等).
但是对flash使用了z-index,图片仍然被falsh盖住,怎么都跑不到上面,后来正好看到一篇文章解决了此问题,原来是要修改flash的属性,具体方法如下:
针对<object>/<embed> 的做法:
- 在<object> 内加 <param name="wmode" value="transparent">, 比如: <object>.... <param name="wmode" value="transparent"> ...</object>
- 在 <embed> 内加 wmode="transparent" 参数, 比如: <embed wmode="transparent" ....>
针对AC_RunActiveContent.js 的做法:
- 在 AC_FL_RunContent() 多加 'wmode', 'transparent' 的参数, 比如: AC_FL_RunContent(.... 'wmode', 'transparent' ...);
- <noscript> 内,应该最好也要加上如上述 <object>/<embed> 的参数.