CSS 菜单不会出现在 Flash 上

Posted

技术标签:

【中文标题】CSS 菜单不会出现在 Flash 上【英文标题】:CSS Menu does not appear over flash 【发布时间】:2010-10-16 07:03:30 【问题描述】:

我在页面上有一个下拉/多级 CSS 菜单。然而,菜单并没有出现在我拥有的闪存图表上。 明显的解决方法似乎是设置 wmode:transparent(或 opaque),但这对我不起作用。我还尝试将 CSS 中的 z-level 设置为非常高的值(2000 ) 但这也不起作用。

另外,我正在使用 open-flash-chart-v2 来生成图表。 (虽然我认为这并不重要,但它限制了我传递变量的能力,因为我没有直接使用 embed 或 object 标签)。

<script type="text/javascript">
swfobject.embedSWF("/ofc-library/open-flash-chart.swf", "chart", "100%", "100%", "9.0.0", "expressInstall.swf", "wmode" : "transparent");
</script>

Page showing problem(这目前不显示 z-index 尝试修复。)

【问题讨论】:

【参考方案1】:

wmode 标签设置不正确。

这是正确的代码:

<object   style="visibility: visible;" id="chart" data="/ofc-library/open-flash-chart.swf" type="application/x-shockwave-flash"><param value="transparent" name="wmode"/></object>

这是您的代码:

<object   type="application/x-shockwave-flash" data="/ofc-library/open-flash-chart.swf" id="chart" style="visibility: visible;"><param name="flashvars" value="wmode=transparent"/></object>

具体来说:

<param name="flashvars" value="wmode=transparent"/>

应该是:

<param value="transparent" name="wmode"/>

这里是正确的做法(注意参数前的空哈希。wmode 是参数而不是 flashvar):

swfobject.embedSWF("/ofc-library/open-flash-chart.swf", "chart", "100%", "100%", "9.0.0", "expressInstall.swf", , "wmode" : "transparent")

【讨论】:

提示:只有在您确实需要 SWF 透明时才使用 wmode transparent。 wmode opaque 应该同样适合您的需求,并且消耗更少的系统资源。它也比 wmode transparent 少得多。【参考方案2】:

因为你使用的是 swfObject,试试这个:

 var so = new SWFObject("/ofc-library/open-flash-chart.swf", "chart", "100%", "100%", "9.0.0", "expressInstall.swf");
 so.addParam("wmode", "transparent");
 so.write("flashcontent");

【讨论】:

以上是关于CSS 菜单不会出现在 Flash 上的主要内容,如果未能解决你的问题,请参考以下文章

在 ipad 上导致 iOS 出现问题的 CSS 菜单

CSS 菜单仅在 IE (SWFObject) 中隐藏在 flash 后面

网页里那种鼠标移上去会出现弹簧的阻尼效果是怎么做出来的?不要用flash做,用js或css3

菜单未显示在 Android 设备上

AS3 Flash 顽固的简单按钮没有出现在舞台上

仅在WordPress中,菜单不会显示在移动主页上