如何让Flash不遮挡HTML div元素的技巧

(编辑:jimmy 日期: 2025/1/7 浏览:2)

今天在写一个flash广告代码的时候,因为flash自带的链接,容易被当成弹出广告,所以做了一个div层放到flash上面,这样链接都是a触发的不会被拦截,但发现flash一直处于div层上面,原来flash需要加个参数才可以。

让flash置于DIV层之下的方法,让flash不挡住飘浮层或下拉菜单,让Flash不档住浮动对象或层的关键参数:wmode=opaque。

方法如下:

针对IE 在<object></object>内加上参数<param name="wmode" value="opaque" />
针对FF 在<embed />内加上参数wmode="opaque"

使用代码:

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <title>22cn</title>  
  6. <style type="text/css">  
  7. <!--   
  8. body {    
  9. position:relative;    
  10. z-index:0;    
  11. margin:0; padding:0   
  12. }    
  13. body,td,th {   
  14.     color: #333333;   
  15. }   
  16. *{margin:0; padding:0}   
  17. img{ border:0}   
  18. #jb51{ position:relative; width:300px; height:250px}   
  19. #div1 {   
  20. position:absolute;   
  21. left:0;   
  22. top:0;   
  23. width:300px;    
  24. height:250px; z-index:-1    
  25.   
  26. }    
  27. #div2 {    
  28. position:absolute;   
  29. left:0;   
  30. top:0;   
  31. width:300px;    
  32. height:250px;    
  33. z-index:99999;    
  34. }    
  35. -->  
  36. </style></head>  
  37. <body>  
  38. <div id="jb51">  
  39. <div id="div1">  
  40. <script type="text/javascript">  
  41. document.write('<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="300" height="250">');   
  42. document.write('<param name="movie" value="http://img.jb51.net/image/22cn_jb51net.swf" />');   
  43. document.write('<param name="quality" value="high" /><param name="wmode" value="opaque" />');   
  44. document.write('<embed src="http://img.jb51.net/image/22cn_jb51net.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="250" wmode="opaque"></embed>');   
  45. document.write('</object>');   
  46. </script>  
  47. </div>  
  48. <div id="div2">  
  49. <a href="http://i.am.cn/?s=jb51pic2" target="_blank"><img src="http://img.jb51.net/image/touming.png" width="300" height="250"/></a>  
  50. </div>  
  51. </div>  
  52. </body>  
  53. </html>  
标准的的Flash插入

XML/HTML Code复制内容到剪贴板
  1. <!-- 标准的的Flash插入   
  2. 设置高度与宽度:   
  3. width="400" height="400"  
  4. 设置路径:   
  5. data="style/flash/001.swf" 与 value="style/flash/001.swf"  
  6. 替代文本或替代图片:   
  7. <a href="" title=""><img src="" alt="" /></a> 也可以不要这段   
  8. -->  
  9. <object type="application/x-shockwave-flash" data="style/flash/001.swf" width="400" height="400">  
  10. <param name="movie" value="style/flash/001.swf" />  
  11. <a href="style/flash/001.swf"><img src="style/img/001.jpg" alt="Flash动画" /></a>  
  12. </object>  
不会遮住层的Flash

XML/HTML Code复制内容到剪贴板
  1. <!-- 不会遮住层的Flash    
  2. 让Flash不档住浮动对象或层的关键属性:   
  3. <param name="wmode" value="opaque" />  
  4. <embed wmode="opaque"></embed>  
  5. -->  
  6. <object type="application/x-shockwave-flash" data="style/flash/001.swf" width="400" height="400">  
  7. <param name="movie" value="style/flash/001.swf" />  
  8. <param name="wmode" value="opaque" />  
  9. <embed wmode="opaque"></embed>  
  10. <a href="style/flash/001.swf"><img src="style/img/001.jpg" alt="Flash动画" /></a>  
  11. </object>  
透明的Flash

XML/HTML Code复制内容到剪贴板
  1. <!-- 透明的Flash   
  2. 让Flash透明的关键属性:   
  3. <param name="wmode" value="transparent">  
  4. -->  
  5. <object type="application/x-shockwave-flash" data="style/flash/001.swf" width="400" height="400">  
  6. <param name="movie" value="style/flash/001.swf" />  
  7. <param name="wmode" value="transparent">  
  8. <a href="style/flash/001.swf"><img src="style/img/001.jpg" alt="Flash动画" /></a>  
  9. </object>  
wmode 属性/参数值 Window | Opaque | Transparent
模板变量:$WM,(可选)允许使用 Internet Explorer 4.0 中的透明 Flash 内容、绝对定位和分层显示功能。此标记/属性仅在带有 Flash Player ActiveX 控件的 Windows 中有效。

"Window"在 Web 页上用影片自己的矩形窗口来播放应用程序。"Window"表明此 Flash 应用程序与 HTML 层没有任何交互,并且始终位于最顶层。
"Opaque" 使应用程序隐藏页面上位于它后面的所有内容。
"Transparent"使 HTML 页的背景可以透过应用程序的所有透明部分显示出来,并且可能会降低动画性能。
"Opaque windowless"和"Transparent windowless"都可与 HTML 层交互,从而允许 SWF 文件上方的层遮蔽应用程序。这两种选项之间的差异在于"Transparent"允许透明,因此,如果 SWF 文件的某一部分是透明的,则 SWF 文件下方的 HTML 层可以透过该部分显示出来,而"opaque"则不会显示。

如果忽略此属性,默认值为 Window。仅适用于 object。

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?