今天我在使用水平下拉菜单时遇到了引导程序的问题,它不会使用我的导航栏滚动,显然是由这个css类引起的:
.dropdown-menu {
width: 100%;
position: fixed;
top:210px;
z-index: 1000;
display: none;
float: left;
text-align:center;
}
但是,如果我删除或更改position:fixed
标记,我的下拉菜单会再次垂直...
HTML
<div class="logo"><a href="#"><img src="img/logo.jpg" alt="logo"></a></div>
<nav class="navbar navbar-inverse" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li><a href="#">mmenu1</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">mmenu2</a>
<ul class="dropdown-menu" role="menu">
<li><a href="#">smenu1</a></li>
<li><a href="#">smenu2</a></li>
<li><a href="#">smenu3</a></li>
<li><a href="#">smenu4</a></li>
<li><a href="#">smenu5</a></li>
<li><a href="#">smenu6</a></li>
</ul>
</li>
<li><a href="#">mmenu3</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
CSS
.logo{
text-align:center;
}
.navbar .navbar-nav {
font-size:1.9em;
font-family:verdana;
display: inline-block;
float: none;
}
.navbar-inverse .nav > li{
display:block;
}
ul.nav li.dropdown:hover ul.dropdown-menu{
display: block;
}
.navbar .navbar-collapse {
text-align: center;
}
.navbar-inverse .nav > li{
width:170px;
display:block;
}
.dropdown-menu {
width: 100%;
position: fixed;
top:210px;
z-index: 1000;
display: none;
float: left;
text-align:center;
}
.dropdown-menu li {
display:inline-block;
}
以下是bootply中的可视化代码: http://www.bootply.com/cmjcUyHRTw
有什么方法可以解决这个问题吗?
答案 0 :(得分:1)
所以问题是width: 100%
在位置固定和绝对时意味着不同的东西。当它被修复时,它会填充100%的窗口。当它是绝对的时候,它会通过相对定位填充其最接近的父母的100%。
在这种情况下,li.dropdown
位于相对位置,因此下拉列表会填充该宽度。要解决这个问题,请添加以下CSS行:
ul.nav li.dropdown {position: static;}
现在使用以下方法修复您的下拉菜单CSS:
.dropdown-menu {
position: absolute;
top:50px;
}
这是固定的bootply:http://www.bootply.com/EuiK4NsMn5
答案 1 :(得分:0)
问题是宽度:.dropdown菜单上的100%仅扩展到li元素的100%而不是页面。
删除固定位置。然后添加
.dropdown-menu {
width: 600px;
}
和
.dropdown-menu li {
display:block;
float: left;
}