当前位置:首页 >> 技术方案 >> 详情

下拉菜单被FLASH遮挡,设置z-index也无效的解决办法

发布时间:2013-05-18   浏览次数:76次   作者:未知    标签:郑州seo 郑州seo推广 郑州网站推广

这几天做网站,发现下拉菜单和FLASH放在一起就是一个噩梦:下拉菜单不能看到,于是我给下拉菜单设置了z-index:1000,给flash设置了z-index:0,IE里边测试还可以,能看到下拉菜单,但是搜狗或者360高速模式都不行。气得不行,就找了网上的代码。试了很多,终于找打下边的这个解决方法很好的。

解决方法如下:

  设“wmode”的值为“Opaque”,表示将Flash置于最底层。
  也可以设置“wmode”的值为透明“transparent”.也不会挡住浮动的层。
  
  条件1.只适用于IE4.0或以上版本.
  条件2.flash和其他元素在不同的layers里,且Flash所在的层的z-index较低。
  条件3.Flash必须设定为背景透明。(wmode=transparent).
  以上三项缺一不可。
  
  IE浏览器下可用
  <paramname="wmode"value="transparent"/>
  
  firefox下可用
  <embedsrc="YourFlash.swf"wmode="transparent"...></embed>
  wmode属性/参数
  值
  Window|Opaque|Transparent
  模板变量:$WM
  说明
  (可选)使您可以使用InternetExplorer4.0中的透明Flash内容、绝对定位和分层显示的功能。此标记/属性仅在带有FlashPlayerActiveX控件的Windows中有效。
  “Window”在Web页上用影片自己的矩形窗口来播放应用程序。“Window”表明Flash应用程序与HTML层没有任何交互,并且始终位于最顶层。
  “Opaque”使应用程序隐藏页面上位于它后面的所有内容。
  “Transparent”使HTML页的背景可以透过应用程序的所有透明部分进行显示,这样可能会降低动画性能。
  “Opaquewindowless”和“Transparentwindowless”都可与HTML层交互,并允许SWF文件上方的层遮蔽应用程序。这两种选项之间的差异在于“Transparent”允许透明,因此,如果SWF文件的某一部分是透明的,则SWF文件下方的HTML层可以透过该部分显示出来。
  如果忽略此属性,默认值为Window。仅适用于object。
  因此,在HTML中将<object>的wmode参数设成这样:
  <paramname="wmode"value="Opaque">
  然后将一个HTML的<div>置于Flash影片之上,测试成功。