是否可以在不使用所有默认导航标记的情况下创建切换按钮?
我只想创建一个具有折叠功能的简单菜单。例如:
<div class="navigation">
<ul id="nav-to-collapse">
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
<a href="#" class="toggle" data-toggle="collapse" data-target="#nav-to-collapse">
</div>
这可能吗?这是我第一次使用Bootstrap(3),它真的很令人困惑。我不想使用所有的导航条类,因为那样我就必须覆盖所有的导航栏样式来创建我想要的简单菜单。
编辑:我设法在没有所有无用导航栏类的情况下创建了切换,但当导航高度更改时,切换动画出现了问题。这里有一个jsfiddle来解决这个问题:Jsfidle演示
Bootstrap的toggle函数是一个javascript函数,当用户单击属性为data toggle="collapse"的元素时会触发该函数。如果没有指定数据target="id,则用户单击的元素将被折叠。然而,在这个标记中:
<a href="#" class="toggle" data-toggle="collapse" data-target="#nav-to-collapse">
data target="属性设置为要折叠的#nav的id。因此,Bootstrap的崩溃插件将寻找一个id="nav to collapse"并在该id上触发其功能。
所以在这个标记中:
<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="#">Project name</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
数据目标被设置为.navbar collapse类,这将使该元素下面的所有内容都崩溃。
通过在nav元素上使用最小高度而不是高度来修复折叠动画问题。这是一把小提琴:http://jsfiddle.net/cfcZY/2/
nav { min-height: 100px; }