Bootstrap下拉菜单出现在其他元素后面 - IE7

时间:2013-04-22 14:31:56

标签: css internet-explorer twitter-bootstrap internet-explorer-7

我正在使用Bootstrap 2.3.1 http://twitter.github.io/bootstrap/index.html

所以我正在使用他们的'下拉菜单'类来创建一些简单的快速使用下拉菜单,但由于某些原因 IE7 ,它们出现在我网站上的文本和其他元素后面。< / p>

测试链接: http://leongaban.com/_projects/defakto/CDS/

我在我的CSS中添加了z-index,但似乎仍然没有做任何事情,请帮忙!

.header .header-nav ul#nav-account ul.dropdown-menu,
.header .header-nav ul#nav-library ul.dropdown-menu {
    z-index: 10000;
}

IE9,Chrome,FF等现代无头痛的浏览器: enter image description here


IE7&gt; :(
enter image description here

HTML

<div class="header-nav">

<ul id="nav-account" role="navigation" class="pull-right">

    <!-- Language Dropdown Button -->
    <li id="language-btn">
        <a href="#" id="drop1" class="dropdown-toggle" data-toggle="dropdown">English</a>
        <img src="img/header-small-down-arrow.png" alt="grey triangle"/><!-- <span class="grey_triangle"></span>-->

        <!-- Language Dropdown Menu-->
        <ul class="dropdown-menu" role="menu" aria-labelledby="drop1">
            <li role="presentation"><a role="menuitem" tabindex="-1" href="#">English</a></li>
            <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Spanish</a></li>
            <li role="presentation"><a role="menuitem" tabindex="-1" href="#">German</a></li>
            <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Japanese</a></li>
            <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Chinese</a></li>
        </ul>
    </li>

    <!-- User Dropdown Button -->
    <li id="account-btn">
        <a href="#" id="drop2" class="dropdown-toggle" data-toggle="dropdown">Logout</a>
        <img src="img/header-small-down-arrow.png" alt="grey triangle"/>
        <!-- <span class="grey_triangle"></span> -->

        <!-- User Dropdown Menu-->
        <ul class="dropdown-menu" role="menu" aria-labelledby="drop2">
            <li role="presentation"><a role="menuitem" tabindex="-1" href="http://google.com">Logout</a></li>
            <li role="presentation"><a role="menuitem" tabindex="-1" href="#anotherAction">Account</a></li>
        </ul>
    </li>
</ul>

7 个答案:

答案 0 :(得分:77)

问题是stacking context

即使您在下拉列表中使用z-index,它也仅与相同堆叠上下文中的元素相关。您需要向父元素添加z-indexposition才能使其生效。在这种情况下,我会推荐header-top div

答案 1 :(得分:18)

您只能对定位元素使用z-index(相对,固定/绝对),因此请尝试添加:

.header .header-nav ul#nav-account ul.dropdown-menu,
.header .header-nav ul#nav-library ul.dropdown-menu {
    position: relative;
    z-index: 10000;
}

答案 2 :(得分:9)

如果增加父元素的z-index(如其他答案中所述)对你不起作用,可能是其中一个父元素有&#34; overflow:hidden;&#34 尝试删除它,看它是否有效。

答案 3 :(得分:3)

只需将溢出作为继承或可见。

它将解决问题。

overflow: visible !important;

  

它非常适合我

答案 4 :(得分:2)

查看&#34; append-to vs. append-to-body vs. inline example&#34;在最新版本的UI-Bootstrap lib上。

答案 5 :(得分:0)

通过添加菜单CSS解决了这个问题。

position: relative;
z-index: 10000;

答案 6 :(得分:-1)

使用

时发生了同样的事情
overflow-x: hidden;

在父元素上。不得不关掉它。