2

只有在 IE7 中,子菜单才会出现在我的页面内容下。我使用 bgframe 插件。

这是我的代码: $("ul.sf-menu").superfish({ speed: 'fast', autoArrows: false // 禁用箭头标记的生成 }).find('ul').bgIframe({opacity :错误的});

你有什么想法?

非常感谢。再见Z

4

5 回答 5

7

您可能会发现这一小块代码很有帮助,它对 Z-Order 做了很深的巫术。我没有创建它,但它为我节省了无数小时。

解决 IE7 的许多问题的一种方法是动态反转页面上元素的默认 z-index 堆叠顺序。这将确保您的 HTML 源代码中较高的元素在您的页面上也具有较高的 z-index 顺序,从而解决了大多数 IE 堆叠问题。如果您使用的是 jQuery(最好的 Javascript 库),这里是快速修复...

$(function() {
    var zIndexNumber = 1000;
    $('div').each(function() {
        $(this).css('zIndex', zIndexNumber);
        zIndexNumber -= 10;
    });
});

你可以在这里找到这一切......

于 2010-02-10T09:43:23.490 回答
2

这确实是一个 CSS 问题,而且修复起来非常烦人。

很可能您在其中一个容器元素上有一个 position:relative 或 position:absolute 规则,或者正在使用另一个与该位置混淆的 JS 插件(例如 jquery.corner)。四处寻找类似的东西。

于 2009-12-11T17:47:32.443 回答
1

上面提到的 z-index 修复使我免于扯下自己的头皮。我把它放在一个特定于 IE7 的条件注释中,一切都好起来了。

于 2010-10-05T19:56:23.277 回答
1

将父容器设置为z-index:1.sf-menuz-index:100

这将设置图层并使菜单弹出网站内容。

于 2013-11-26T00:12:18.450 回答
0

这听起来像是一个 css 问题,可能与您的 superfish 实现无关。尝试使用 IE 开发人员工具栏检查菜单,看看是什么组合导致它出现在下面。

于 2009-12-11T17:41:07.260 回答