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

Posted

技术标签:

【中文标题】CSS 菜单仅在 IE (SWFObject) 中隐藏在 flash 后面【英文标题】:CSS Menu hides behind flash only in IE (SWFObject) 【发布时间】:2010-12-14 18:36:44 【问题描述】:

我知道这个问题被问了很多,我在发布之前检查了所有“相关问题”,我尝试了所有我能找到的不同解决方案,但无济于事。

我正在站点页面上的一个站点上工作,并且有一个使用原始创建者使用的 Pop Menu Magic 的标题导航,它目前隐藏在仅在 IE 中播放的 swf 下,而在 Firefox 中完美运行。

我尝试了各种方法,从将 wmode 更改为透明或不透明、在不同的 div 上使用 z-index、确保它们具有定义的位置等。

任何帮助将不胜感激。

这是“嵌入”代码:

<div id="slideShow">
<div id="flashcontent">
This text will be replaced by the SWFObject Flash Inclusion.
</div>
<script type="text/javascript">
var so = new SWFObject("flash-banner2.swf", "mymovie", "747", "258", "8", "#000");
so.addParam("quality", "high");
so.addParam("wmode", "opaque");
so.write("flashcontent");
</script>
</div>

再次感谢您的帮助。

Stack Overflow 最初只允许我发布 1 个超链接,所以我会将 css 放在评论中。

【问题讨论】:

CSS 可以在这里找到:http:///www.onlineuticacollege.com/david/styles/2col-2.css 弹出菜单魔术样式表在这里:http:///www。 onlineuticacollege.com/david/p7pm/p7pmh3.css 我不确定是不是问题,但我认为 IE 不支持任何地方的 inherit 位 CSS 【参考方案1】:

从你的 CSS 开始,去掉通用选择器规则 (*) 中的 position: relative。这是一个真的坏主意。删除它可以解决问题。

它确实以多种方式破坏了网站(假设:http://www.onlineuticacollege.com/david/ 实际上是您正在谈论的网站),但您应该解决出现这些问题的地方,而不是通过相对定位所有内容。

【讨论】:

【参考方案2】:

注意:在 IE 中说问题时,一定要说是什么版本,因为现在有 3 个主要版本。我猜6个。

当窗口对象(如 flash 和 select 元素)不遵守 z-index 规则时,这是 IE6 的“特性”。修复是隐藏或使用 iframe“垫片”

谈到这里:iframe shimming or ie6 (and below) select z-index bug

【讨论】:

iframe 在 Flash 对象上不需要垫片。不透明或透明的wmode 以及正确的定位和z-indexes 应该始终修复它。 同意使用 mercator,除了 z-index 对 Flash Player 没有影响之外,它实际上指定了产生差异的位置(相对位置或绝对位置)。见pipwerks.com/lab/swfobject/z-index/2.0/index.html

以上是关于CSS 菜单仅在 IE (SWFObject) 中隐藏在 flash 后面的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript SWFObject 1.5 / IE6 JQUERY兼容

SWFObject 1.5/IE6 JQUERY兼容

CSS 仅在菜单CSS中突出显示所选项目

css 仅在IE上应用Style

怎么规定CSS的属性仅在IE下生效?在非IE浏览器下不生效

IE7 仅在来自生产服务器的页面上忽略 CSS 属性选择器