Twitter bootstrap 带可切换子菜单的Bootstrap 3垂直菜单

Twitter bootstrap 带可切换子菜单的Bootstrap 3垂直菜单,twitter-bootstrap,twitter-bootstrap-3,menu,submenu,Twitter Bootstrap,Twitter Bootstrap 3,Menu,Submenu,使用Bootstrap3,我需要构建一个包含可切换子菜单的垂直菜单。我的结构如下: <nav> <ul> <li><a href="#">Item 1</a></li> <li><a href="#">Item 2 (toggle)</a> <ul> <li><a

使用Bootstrap3,我需要构建一个包含可切换子菜单的垂直菜单。我的结构如下:

<nav>
    <ul>
        <li><a href="#">Item 1</a></li>
        <li><a href="#">Item 2 (toggle)</a>
            <ul>
                <li><a href="#">Item 2.1</a></li>
                <li><a href="#">Item 2.2</a></li>
                <li><a href="#">Item 2.3</a></li>
            </ul>
        </li>
        <li><a href="#">Item 3</a></li>
        <li><a href="#">Item 4</a></li>
    </ul>
</nav>


我希望默认情况下隐藏“项目2”内的UL,并通过按“项目2”取消隐藏/隐藏它。

使垂直子菜单可切换的关键是使用属性data toggle=“collapse”,而不是navs data toggle=“dropdown”中最常用的属性

我准备了这个,这是wordking代码:

<nav>
    <ul class="nav">
      <li><a href="#">Link 1</a></li>
    <li><a href="#" id="btn-1" data-toggle="collapse" data-target="#submenu1" aria-expanded="false">Link 2 (toggle)</a>
      <ul class="nav collapse" id="submenu1" role="menu" aria-labelledby="btn-1">
        <li><a href="#">Link 2.1</a></li>
        <li><a href="#">Link 2.2</a></li>
        <li><a href="#">Link 2.3</a></li>
      </ul>
    </li>
    <li><a href="#">Link 3</a></li>
    <li><a href="#">Link 4</a></li>
  </ul>
</nav>


有时您需要菜单项链接和子菜单项切换

下面是一个测试:

/*CSS*/
.切换自定义{
位置:绝对!重要;
排名:0;
右:0;
}
.toggle custom[aria expanded='true']。glyphicon plus:之前{
内容:“\2212”;
}


供未来读者使用更新的引导程序5(更新2021)。。折叠组件仍可与导航组件一起使用

如果希望菜单具有手风琴效果(一次只打开一个项目),请使用“数据bs父项”属性设置每个菜单节的父项

<div class="nav flex-column">
    <a href="#menu1" class="nav-link collapsed" data-bs-toggle="collapse" role="button">Item 1 ▾</a>
    <div class="collapse ps-2" id="menu1" data-bs-parent="#sidebar">
        <a href="#menu1sub1" class="nav-link" data-bs-toggle="collapse" aria-expanded="false">Subitem1 1 ▾</a>
        <div class="collapse ps-2" id="menu1sub1" data-bs-parent="#menu1">
            <a href="#" class="nav-link" data-bs-parent="#menu1sub1">Subitem a</a>
            <a href="#" class="nav-link" data-bs-parent="#menu1sub1">Subitem b</a>
            <a href="#menu1sub1sub1" class="nav-link" data-bs-toggle="collapse" aria-expanded="false">Subitem c ▾</a>
            <div class="collapse ps-2" id="menu1sub1sub1" data-bs-parent="#menu1sub1sub1">
                <a href="#" class="nav-link">Subitem c.1</a>
                <a href="#" class="nav-link">Subitem c.2</a>
            </div>
        </div>
    </div>
    <a href="#" class="nav-link">Item 2</a>
    <a href="#" class="nav-link">Item 3</a>
    <a href="#" class="nav-link">Item 4</a>
</div>


@Gustavo我如何才能在不中断响应的情况下提供剩余的空间itself@Gustavo在您的示例中,我们如何使
项目2
在单击任何其他项目(项目2之外)时崩溃?您好,我刚刚注意到,当您在下拉列表的子项目/子项目之一上放置链接时,它不起作用。