web-dev-qa-db-fra.com

Comment créer un menu de réduction à 3 niveaux dans Bootstrap?

J'essaie de créer un menu de barre de navigation repliable à 3 niveaux pour Bootstrap, mais je ne peux pas ouvrir le troisième niveau.

Voici le menu à deux niveaux que j'ai:

<link href="https://stackpath.bootstrapcdn.com/Twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet"/>
<div class="navbar navbar-fixed-top">
  <div class="navbar-inner">
    <div class="container">
      <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </a>

      <div class="nav-collapse">
        <ul class="nav">
          <a class="brand" href="#">Present Ideas</a>
          <li class="active"><a href="#">Home</a></li>
          <li><a href="#">Blog</a></li>
          <li><a href="#">About</a></li>
          <li><a href="#">Help</a></li>
          <li class="dropdown" id="accountmenu">
            <a class="dropdown-toggle" data-toggle="dropdown" href="#">Account Settings<b class="caret"></b></a>
            <ul class="dropdown-menu">
              <li><a href="#">Login</a></li>
              <li><a href="#">Register</a></li>
              <li class="divider"></li>
              <li><a href="#">Logout</a></li>
            </ul>
          </li>
        </ul>
        <ul class="nav pull-right">

        </ul>
      </div>
      <!--/.nav-collapse -->
    </div>
  </div>
</div>

Je pensais que quelque chose comme ça marcherait:

<link href="https://stackpath.bootstrapcdn.com/Twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet"/>
<div class="navbar navbar-fixed-top">
  <div class="navbar-inner">
    <div class="container">
      <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </a>

      <div class="nav-collapse">
        <ul class="nav">
          <li class="active"><a href="#">Home</a></li>
          <li><a href="#">Blog</a></li>
          <li><a href="#">About</a></li>
          <li><a href="#">Help</a></li>
          <li class="dropdown" id="accountmenu">
            <a class="dropdown-toggle" data-toggle="dropdown" href="#">Account Settings<b class="caret"></b></a>
            <ul class="dropdown-menu">
              <li><a href="#">Login</a></li>
              <li class="item-148 dropdown parent">
                <a href="/about/learn-more">Learn more&nbsp;<b class="caret-right"></b></a>
                <ul class="dropdown-menu">
                  <li class="item-149"><a href="/about/learn-more/the-software">The Software</a></li>
                  <li class="item-150"><a href="/about/learn-more/the-project">The Project</a></li>
                  <li class="item-151"><a href="/about/learn-more/the-leadership">The Leadership</a></li>
                  <li class="item-152"><a href="/about/learn-more/open-source-matters">Open Source Matters</a></li>
                </ul>
              </li>
              <li class="divider"></li>
              <li><a href="#">Logout</a></li>
            </ul>
          </li>
        </ul>
        <ul class="nav pull-right">

        </ul>
      </div>
      <!--/.nav-collapse -->
    </div>
  </div>
</div>

Mais ça ne marche pas.

19
jens_vdp

Bootstrap 2.3.x et versions ultérieures prennent en charge le dropdown-submenu ..

<ul class="dropdown-menu">
            <li><a href="#">Login</a></li>
            <li class="dropdown-submenu">
                <a tabindex="-1" href="#">More options</a>
                <ul class="dropdown-menu">
                    <li><a tabindex="-1" href="#">Second level</a></li>
                    <li><a href="#">Second level</a></li>
                    <li><a href="#">Second level</a></li>
                </ul>
            </li>
            <li><a href="#">Logout</a></li>
</ul>

Démo de travail sur Bootply.com

34
Zim

Bootstrap 3 a supprimé la prise en charge native des menus repliés imbriqués, mais il existe un moyen de la réactiver avec un script tiers. Cela s'appelle SmartMenus . Cela signifie ajouter trois nouvelles ressources à votre page, mais il prend en charge de manière transparente Bootstrap 3.x avec plusieurs niveaux de menus pour les imbriqués <ul>/<li> éléments avec class="dropdown-menu". Il affiche également automatiquement l'indicateur de signe d'insertion approprié.

<head>
   ...
   <script src=".../jquery.smartmenus.min.js"></script>
   <script src=".../jquery.smartmenus.bootstrap.min.js"></script>
   ...
   <link rel="stylesheet" href=".../jquery.smartmenus.bootstrap.min.css"/>
   ...
</head>

Voici une page de démonstration: http://vadikom.github.io/smartmenus/src/demo/bootstrap-navbar-fixed-top.html

1
Tony