我正在尝试在导航栏中添加下拉菜单。但是,如果我使用按钮作为下拉菜单,则不会显示下一级别。但是如果我使用<a>
,那么它会起作用,但它也会增加导航栏的高度。以下是我的菜单代码的一部分。
带按钮的代码:
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#allo-m-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>
<a class="navbar-brand app-logo zero-padding-R" href="/web/login.mvc">
**<button class="btn btn-default" data-toggle="dropdown" class="btn btn-primary" id="menu">
Menu <span class="caret"></span>
</button>**
<ul class="dropdown-menu multi-level" role="menu" aria-labelledby="dropdownMenu">
<li><a href="//login/selection.mvc"><img src="/web/images/bullet.png" style="font-size:11px;"><spring:message code="accueil.campagne.new" /></a></li>
<li><a href="#"><img src="/web/images/bullet.png" style="font-size:11px;"><spring:message code="accueil.manage.campagne" /></a></li>
<li class="divider"></li>
<li class="dropdown-submenu">
<a tabindex="-1" href="#"><img src="/web/images/bullet.png" style="font-size:11px;"><spring:message code="side.panel.stat.report"/></a>
<ul class="dropdown-menu">
<li><a tabindex="-1" href="#">test2</a></li>
<li class="dropdown-submenu">
<a href="#">More..</a>
<ul class="dropdown-menu">
<li><a href="#">test3</a></li>
<li><a href="#">test3</a></li>
</ul>
</li>
<li><a href="#">test2</a></li>
<li><a href="#">test2</a></li>
</ul>
</li>
</ul>
<img class="app-logo img-responsive" src="/temptingplaces-web/images/logo.png" alt="" style="padding-left: 200px;" />
</a>
如果我用以下内容替换粗体部分:
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Menu 1 <b class="caret"></b></a>
它可以工作,但随后会增加导航栏的高度。 我是navbars的新手,并不知道它是如何工作的。 如果需要,我也可以粘贴我的CSS。
这是我的演示作品
答案 0 :(得分:0)
以下是使用button
或href
执行此操作的示例。
你肯定需要 jQuery 才能使Dropdown工作。
$(function() {
$(".dropdown-menu > li > a.trigger").on("click", function(e) {
var current = $(this).next();
var grandparent = $(this).parent().parent();
if ($(this).hasClass('left-caret') || $(this).hasClass('right-caret')) $(this).toggleClass('right-caret left-caret');
grandparent.find('.left-caret').not(this).toggleClass('right-caret left-caret');
grandparent.find(".sub-menu:visible").not(current).hide();
current.toggle();
e.stopPropagation();
});
$(".dropdown-menu > li > a:not(.trigger)").on("click", function() {
var root = $(this).closest('.dropdown');
root.find('.left-caret').toggleClass('right-caret left-caret');
root.find('.sub-menu:visible').hide();
});
});
.dropdown-menu > li {
position: relative;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
cursor: pointer;
}
.dropdown-menu .sub-menu {
left: 100%;
position: absolute;
top: 0;
display: none;
margin-top: -1px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
border-left-color: #ccc;
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
}
.right-caret:after,
.left-caret:after {
content: "";
border-bottom: 5px solid transparent;
border-top: 5px solid transparent;
display: inline-block;
height: 0;
vertical-align: middle;
width: 0;
margin-left: 5px;
}
.right-caret:after {
border-left: 5px solid #444;
}
.left-caret:after {
border-right: 5px solid #444;
}
.navbar-default .navbar-nav .dropdown .drop-button {
border: none;
outline: none;
border-radius: 0;
}
.navbar-default .navbar-nav .dropdown .drop-button:focus,
.navbar-default .navbar-nav .dropdown .drop-button:hover {
border: none;
outline: none;
box-shadow: none;
}
@media (max-width: 767px) {
.navbar-default .navbar-nav .dropdown .drop-button {
text-align: left;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<nav class="navbar navbar-default">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> <span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button> <a class="navbar-brand" href="#">Brand</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Link <span class="sr-only">(current)</span></a>
</li>
<li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Normal <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Level 1</a>
</li>
<li><a href="#">Level 1</a>
</li>
<li><a href="#">Level 1</a>
</li>
<li role="separator" class="divider"></li>
<li><a href="#">Level 1</a>
</li>
<li role="separator" class="divider"></li>
<li><a href="#">Level 1</a>
</li>
</ul>
</li>
<li class="dropdown"> <a href="#" class="btn btn-link drop-button dropdown-toggle" data-toggle="dropdown">Button <span class="caret"></span></a>
<ul class="dropdown-menu">
<li> <a class="trigger right-caret">Level 1</a>
<ul class="dropdown-menu sub-menu">
<li><a href="#">Level 2</a>
</li>
<li> <a class="trigger right-caret">Level 2</a>
<ul class="dropdown-menu sub-menu">
<li><a href="#">Level 3</a>
</li>
<li><a href="#">Level 3</a>
</li>
<li> <a class="trigger right-caret">Level 3</a>
<ul class="dropdown-menu sub-menu">
<li><a href="#">Level 4</a>
</li>
<li><a href="#">Level 4</a>
</li>
<li><a href="#">Level 4</a>
</li>
</ul>
</li>
</ul>
</li>
<li><a href="#">Level 2</a>
</li>
</ul>
</li>
<li><a href="#">Level 1</a>
</li>
<li><a href="#">Level 1</a>
</li>
</ul>
</li>
<li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Link <span class="caret"></span></a>
<ul class="dropdown-menu">
<li> <a class="trigger right-caret">Level 1</a>
<ul class="dropdown-menu sub-menu">
<li><a href="#">Level 2</a>
</li>
<li> <a class="trigger">Level 2</a>
<ul class="dropdown-menu sub-menu">
<li><a href="#">Level 3</a>
</li>
<li><a href="#">Level 3</a>
</li>
<li> <a class="trigger right-caret">Level 3</a>
<ul class="dropdown-menu sub-menu">
<li><a href="#">Level 4</a>
</li>
<li><a href="#">Level 4</a>
</li>
<li><a href="#">Level 4</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a href="#">Level 1</a>
</li>
<li><a href="#">Level 1</a>
</li>
</ul>
</li>
<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Your Link <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a class="trigger right-caret">Level 1</a>
<ul class="dropdown-menu sub-menu">
<li>
<a href="#">
<img src="http://placehold.it/250x50/f00">
</a>
</li>
<li><a class="trigger">Level 2</a>
</li>
<li>
<a href="#">
<img src="http://placehold.it/250x50/f00">
</a>
</li>
</ul>
</li>
<li>
<a href="#">
<img src="http://placehold.it/250x50/f00">
</a>
</li>
<li>
<a href="#">
<img src="http://placehold.it/250x50/f00">
</a>
</li>
</ul>
</li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->
</nav>
答案 1 :(得分:0)
我找到了解决问题的方法,我把下拉菜单放在了
import pymongo
client = pymongo.Mongoclient('localhost',27017)
#parameter can be the database URL
db = client.dataBase
dbOutput = db.collection.find()
for tuple in dbOutput:
print tuple[key1]
print tuple[key2]
.
.
.
print tuple[keyN]
。