没有导航栏元素的Bootstrap导航切换

时间:2013-11-21 21:16:11

标签: css twitter-bootstrap navigation navbar collapse

是否可以在不使用默认导航的所有标记的情况下创建切换按钮?

我只想创建具有折叠功能的简单菜单。例如:

<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),它真的很混乱。我不想使用所有的navbar类,因为那时我将不得不覆盖所有的navbar样式,只是为了创建我想要的简单菜单。

编辑:我设法创建了没有所有无用导航栏类的切换,但是当导航高度发生变化时,切换动画存在问题。这是一个解决问题的方法:Jsfiddle demo

2 个答案:

答案 0 :(得分:1)

Bootstrap的切换功能是一个javascript函数,当用户单击具有data-toggle =“collapse”属性的元素时会触发该函数。如果还没有指定data-target =“”id,则用户单击的元素将折叠。但是,在这一点标记中:

<a href="#" class="toggle" data-toggle="collapse" data-target="#nav-to-collapse">

data-target =“”属性设置为#avan-to-collapse的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类,这将使该元素下面的所有内容都崩溃。

答案 1 :(得分:0)

通过在nav元素上使用min-height而不是height来修复折叠动画问题。这是一个小提琴:http://jsfiddle.net/cfcZY/2/

nav { min-height: 100px; }