我有一个非常长的移动菜单,有4个菜单项,每个项目都有下拉菜单,第一个下拉菜单很长,当我在第一个下拉列表中滚动浏览导航时,我无法进入最后一个下拉列表在我的菜单中,除非我关闭第一个下拉列表,但我希望能够进入最后一个下拉列表,即使第一个下拉列表打开.
这是HTML
.navbar-collapse { height: 100vh; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> <div class="navbar navbar-inverse navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="/"><img src="~/Images/logo.png" class="img-responsive" /></a> </div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#">Option</a> <div class="dropdown-menu dropdown-communities" role="menu"> <div class="row current-communities"> <div class="col-md-4"> <h4>Option</h4> <ul> <li><a href="/Link/">Link</a></li> </ul> </div> <div class="col-md-4"> <h4>Option</h4> <ul> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> </ul> </div> <div class="col-md-4"> <h4>Option</h4> <ul> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> </ul> </div> </div> <hr class="current-communities-hr" /> <div class="row upcoming-communities"> <div class="col-md-4"> <h4>Option</h4> <ul> <li><a href="/Link/">Link</a></li> </ul> </div> <div class="col-md-4"> <h4>Option</h4> <ul> <li><a href="/Link/">Link</a></li> </ul> </div> <div class="col-md-4"> <h4>Option</h4> <ul> <li><a href="/Link/">Link</a></li> </ul> </div> </div> </div> </li> <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#">Option</a> <ul class="dropdown-menu" role="menu"> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> </ul> </li> <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#">Option</a> <ul class="dropdown-menu" role="menu"> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> </ul> </li> <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#">Option</a> <ul class="dropdown-menu" role="menu"> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> </ul> </li> </ul> </div> </div> </div>
我尝试过以下方法:
.navbar-collapse { height: 100vh; }
但是当第一个打开时,我仍然无法进入最后一个下拉菜单.
解决方法
Bootstrap将绝对定位放在他们的.dropdown-menu类上.只需相对定位它就应该是金色的.请参阅代码段中的修改.
.dropdown-menu{ position:relative; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> <style> .navbar-collapse { height: calc(100vh - 50px); } </style> <div class="navbar navbar-inverse navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="/"><img src="~/Images/logo.png" class="img-responsive" /></a> </div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#">Option 1</a> <div class="dropdown-menu dropdown-communities" role="menu"> <div class="row current-communities"> <div class="col-md-4"> <h4>Option</h4> <ul> <li><a href="/Link/">Link</a></li> </ul> </div> <div class="col-md-4"> <h4>Option</h4> <ul> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> </ul> </div> <div class="col-md-4"> <h4>Option</h4> <ul> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> </ul> </div> </div> <hr class="current-communities-hr" /> <div class="row upcoming-communities"> <div class="col-md-4"> <h4>Option</h4> <ul> <li><a href="/Link/">Link</a></li> </ul> </div> <div class="col-md-4"> <h4>Option</h4> <ul> <li><a href="/Link/">Link</a></li> </ul> </div> <div class="col-md-4"> <h4>Option</h4> <ul> <li><a href="/Link/">Link</a></li> </ul> </div> </div> </div> </li> <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#">Option 2</a> <ul class="dropdown-menu" role="menu"> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> </ul> </li> <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#">Option 3</a> <ul class="dropdown-menu" role="menu"> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> </ul> </li> <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#">Option 4</a> <ul class="dropdown-menu" role="menu"> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> <li><a href="/Link/">Link</a></li> </ul> </li> </ul> </div> </div> </div>