引导 3 - 关闭下拉菜单后导航栏下拉菜单仍然可见 - 在视口< 768px



当使用viewport 小于768px(移动/触摸屏)时,我一直在尝试使用Navbar下拉菜单来解决问题。

在触摸屏上进行测试时,应该单击打开下拉菜单(这效果很好),第二次点击应该关闭(关闭下拉菜单可工作,但是在触摸屏上,它仍然显示在侧面的下拉菜单,它是 ul.dropdown-menu:Hover )。

我试图在单击下拉切换关闭后将其隐藏,并且光标仍在切换(触摸屏)上。

这是代码:

   
ul.dropdown-menu {
  background-color: #4474a8;
}
ul.dropdown-menu li a {
  background-color: #4474a8
}
ul.dropdown-menu li a:hover {
  background-color: #4474a8;
  color: #111111!important;
}
.dropdown:hover .dropdown-menu {
  display: block;
}
a.dropdown-toggle:focus {
  color: #2f1b09;
}
.dropdown-link {
  text-align: center;
  background-color: #4474a8;
  color: #FFFFFF !important;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<body>
  <div class="container-fluid">
    <div class="row">
      <div class="col-md-1"></div>
      <div class="col-md-10">
        <img src="#" class="img-responsive center-block" id="logo-top">
      </div>
      <div class="col-md-1"></div>
    </div>
  </div>
  <nav class="navbar">
    <div class="container-fluid">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
        <span class="fa fa-anchor"></span>                   
      </button>
      </div>
      <div class="navbar-collapse collapse" id="myNavbar">
        <ul class="nav navbar-nav">
          <li class="active" id="active-nav"><a href="#">Home</a></li>
          <li class="dropdown">
            <a class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" href="#">MENU 1<span class="caret"></span></a>
            <ul class="dropdown-menu" role="menu">
              <li><a href="#" class="dropdown-link"><i class="fa fa-ship" aria-hidden="true"></i> SUBMENU 1</a></li>
              <li><a href="#" class="dropdown-link"> SUBMENU 2</a></li>
              <li><a href="#" class="dropdown-link"> SUBMENU 3<b>&#36;</b></a></li>
              <li><a href="#" class="dropdown-link"> SUBMENU 4</a></li>
            </ul>
          </li>
          <li><a href="#">MENU 2</a></li>
          <li><a href="#">MENU 3</a></li>
          <li><a href="#">MENU 4</a></li>
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-camera" aria-hidden="true"></i> MENU 5<span class="caret"></span></a>
            <ul class="dropdown-menu">
              <li><a href="#" class="dropdown-link">Photos</a></li>
              <li><a href="#" class="dropdown-link">Video</a></li>
              <li><a href="#" class="dropdown-link"><i class="fa fa-youtube" aria-hidden="true"></i>YouTube</a></li>
            </ul>
          </li>
        </ul>
      </div>
    </div>
  </nav>
  <!-- @ #banner-->
  <div class="container-fluid" id="banner">
    <div class="row">
      <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6" id="bannerCol1L">
      </div>
      <!-- / #bannerCol1L -->
      <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6" id="bannerCol2R">
        <a class="orange pillboxLarge" id="getstarted">BUTTON</a>
      </div>
    </div>
    <!-- / .row -->
  </div>
  <!-- / .container-fluid  #banner -->
</body>

在您的CSS中,删除以下内容:

.dropdown:hover .dropdown-menu {
    display: block;
}

最新更新