我尝试使用自动折叠的twitter bootstrap 3.0实现垂直导航。
基础知识工作(窗口大小小=顶部的菜单应该是这样),但问题是如果我使用bootstrap中的默认导航栏功能,它就不会崩溃。
<div class="container-fluid">
<div class="row">
<div class="navbar-brand">
<a href="<g:createLink uri="/" absolute="true" />">BABSI</a>
</div>
<button type="button" class="btn navbar-btn" data-toggle="collapse"
data-target="#sidebar">TOOGLE
Toggle navigation
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="row">
<header id="sidebar" class="col-md-2 collapse">
<div class="row">
<!-- generates ul structure -->
<nav:primary class="nav navbar-inverse nav-stacked" />
</div>
</header>
<section id="content" class="col-md-10">
<div class="row"></div>
<div class="panel panel-default">
<div class="panel-heading">
<g:layoutTitle />
</div>
<div class="panel-body">
<g:layoutBody />
</div>
</div>
</section>
</div>
</div>
答案 0 :(得分:3)
您需要导航中的.navbar-collapse
类,因为那是设置为在给定断点处折叠的类。
我对您的标记进行了一些更改以适应这种情况,并添加了.navbar
容器,以便您可以轻松地使用按钮上的.navbar-toggle
类:
<div class="container">
<div class="navbar navbar-default">
<div class="navbar-brand">
<a href="#">BABSI</a>
</div>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#sidebar .navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="row">
<header id="sidebar" class="col-md-2">
<div class="collapse navbar-collapse">
<!-- generates ul structure -->
<nav:primary class="nav navbar-inverse nav-stacked" />
</div>
</header>
<section id="content" class="col-md-10">
<div class="row"></div>
<div class="panel panel-default">
<div class="panel-heading">
<g:layoutTitle />
</div>
<div class="panel-body">
<g:layoutBody />
</div>
</div>
</section>
</div>
</div>
要删除不需要的样式,并且由于您没有使用默认的navbar-collapse结构,您需要将其添加到CSS
//remove background and border from navbar
.navbar-default{
background: none;
border: 0;
}
.navbar-collapse{
padding: 0;
}
//override width:auto of navbar-collapse
@media (min-width:768px) {
.navbar-collapse {
width: 100%;
}
}
这是 demo fiddle ,其中包含更改
答案 1 :(得分:1)
试试这个。
<script>
$('.navbar-collapse a').click(function(){
$(".navbar-collapse").collapse('hide');
});
</script>