Bootstrap导航丸扩大

时间:2017-05-12 14:40:04

标签: twitter-bootstrap css3

我有这个小样本的bootstrap nav-pills我有下拉部分可以工作,但试图想出是否有办法让它像手风琴一样打开和关闭,而不是下拉/

<ul class="nav nav-pills nav-stacked">
  <li class="active"><a href="#">Home</a></li>
  <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">Menu 1 <span class="caret"></span></a>
    <ul class="dropdown-menu">
      <li><a href="#">Submenu 1-1</a></li>
      <li><a href="#">Submenu 1-2</a></li>
      <li><a href="#">Submenu 1-3</a></li>
    </ul>
  </li>
  <li><a href="#">Menu 2</a></li>
  <li><a href="#">Menu 3</a></li>
</ul>

1 个答案:

答案 0 :(得分:1)

如果您希望子菜单具有手风琴行为,而不是使用下拉组件,最好使用折叠组件。

如果是代码,则需要使用类.collapse和ID

指定子菜单元素
<div id="demo" class="collapse">
  <ul>
    <li><a href="#">Submenu 1-1</a></li>
    <li><a href="#">Submenu 1-2</a></li>
    <li><a href="#">Submenu 1-3</a></li>
  </ul>
</div>

然后,您需要在要使用的元素中指定数据属性,以打开和关闭子菜单。

<li>
    <a data-toggle="collapse" data-target="#demo" href="javascript:void(0)">
        Menu 1 <span class="caret"></span>
    </a>
    <div id="demo" class="collapse">
        <!-- Content of your collapsible element -->
    </div>
</div>
</li>

以下是完整代码:

<ul class="nav nav-pills nav-stacked">
    <li class="active"><a href="#">Home</a></li>
    <li>
        <a data-toggle="collapse" data-target="#demo" href="javascript:void(0)">
            Menu 1 <span class="caret"></span>
        </a>
        <div id="demo" class="collapse">
            <ul>
                <li><a href="#">Submenu 1-1</a></li>
                <li><a href="#">Submenu 1-2</a></li>
                <li><a href="#">Submenu 1-3</a></li>
            </ul>
        </div> 
    </li>
<li><a href="#">Menu 2</a></li>
<li><a href="#">Menu 3</a></li>

在这里你可以看到它的实际效果。此外,我添加了一些自定义CSS,使您的子菜单在视觉上看起来更好:

&#13;
&#13;
#demo ul {
  list-style-type: none;
}

#demo ul li:first-child {
  margin-top: 10px;
}

#demo ul li {
  margin-bottom: 10px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />


<ul class="nav nav-pills nav-stacked">
  <li class="active"><a href="#">Home</a></li>
  <li>
    <a data-toggle="collapse" data-target="#demo" href="javascript:void(0)">
      Menu 1 <span class="caret"></span>
    </a>
    <div id="demo" class="collapse">
      <ul>
        <li><a href="#">Submenu 1-1</a></li>
        <li><a href="#">Submenu 1-2</a></li>
        <li><a href="#">Submenu 1-3</a></li>
      </ul>
    </div>
  </li>
  <li><a href="#">Menu 2</a></li>
  <li><a href="#">Menu 3</a></li>
</ul>
&#13;
&#13;
&#13;

另见Bootstrap Collapse (W3Schools)