当使用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>$</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;
}