我正在使用 Bootstrap 2.3.1 http://twitter.github.io/bootstrap/index.html
因此,我使用他们的“下拉菜单”类来创建一些简单的快速使用下拉菜单,但由于某种原因,在 IE7 上,它们出现在我网站上的文本和其他元素后面。
测试链接: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等现代无头疼的浏览器:
IE7 >:(
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>
这是一个堆叠上下文问题!
即使您在下拉列表中使用
z-index
,它也仅相对于同一堆叠上下文中的元素。您需要将 z-index
和 position
添加到父元素才能使其正常工作。在这种情况下,我会推荐 header-top
div
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;
}
如果增加父元素的 z-index(如其他答案中提到的)对您不起作用,则可能是父元素之一具有以下属性:
overflow: hidden;
尝试将其更改为:
overflow: visible;
看看它是否有效。
只需将溢出设置为继承或可见即可。
它将解决问题。
overflow: visible !important;
它对我来说非常有效
查看最新版本 UI-Bootstrap lib 上的“append-to vs.append-to-body vs.inline example”。
我在使用时也发生过同样的事情
overflow-x: hidden;
在父元素上。不得不把它关掉。
通过在菜单CSS中添加即可解决。
position: relative;
z-index: 10000;