Maison > interface Web > tutoriel CSS > Comment implémenter des sous-menus dans Bootstrap 3, 4 et 5 ?

Comment implémenter des sous-menus dans Bootstrap 3, 4 et 5 ?

Patricia Arquette
Libérer: 2024-12-29 09:37:10
original
776 Les gens l'ont consulté

How Do I Implement Submenus in Bootstrap 3, 4, and 5?

Implémentation de sous-menu dans Bootstrap

La version initiale de Bootstrap 3 ne disposait pas d'une classe dédiée pour la fonctionnalité de sous-menu. Cependant, vous pouvez toujours implémenter des sous-menus avec un peu de CSS supplémentaire.

Bootstrap 5 (mise à jour 2023)

Pour implémenter des sous-menus, ajoutez JavaScript pour empêcher la fermeture des sous-menus. lorsque la liste déroulante parent est ouverte :

let dropdowns = document.querySelectorAll('.dropdown-toggle')
dropdowns.forEach((dd) => {
    dd.addEventListener('click', function (e) {
        var el = this.nextElementSibling
        el.style.display = el.style.display === 'block' ? 'none' : 'block'
    })
})
Copier après la connexion

Vous pouvez également utiliser CSS spécifiquement pour la barre de navigation listes déroulantes :

.dropdown-submenu {
  position: relative;
}

.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -1px;
}

.navbar-nav li:hover > ul.dropdown-menu {
    display: block;
}
Copier après la connexion

Bootstrap 4 (mise à jour 2018)

Bootstrap 4 a supprimé la classe .dropdown-submenu. Au lieu de cela, utilisez CSS pour obtenir la fonctionnalité de sous-menu :

Sous-menu de la barre de navigation au survol :

.navbar-nav li:hover > ul.dropdown-menu {
    display: block;
}
.dropdown-submenu {
    position:relative;
}
.dropdown-submenu>.dropdown-menu {
    top:0;
    left:100%;
    margin-top:-6px;
}
Copier après la connexion

Bootstrap 3

Référez-vous à cet exemple en utilisant Bootstrap 3 :

CSS :

.dropdown-submenu {
    position:relative;
}
.dropdown-submenu>.dropdown-menu {
    top:0;
    left:100%;
    margin-top:-6px;
    margin-left:-1px;
    -webkit-border-radius:0 6px 6px 6px;
    -moz-border-radius:0 6px 6px 6px;
    border-radius:0 6px 6px 6px;
}
.dropdown-submenu:hover>.dropdown-menu {
    display:block;
}

.dropdown-submenu>a:after {
    display:block;
    content:" ";
    float:right;
    width:0;
    height:0;
    border-color:transparent;
    border-style:solid;
    border-width:5px 0 5px 5px;
    border-left-color:#cccccc;
    margin-top:5px;
    margin-right:-10px;
}
.dropdown-submenu:hover>a:after {
    border-left-color:#ffffff;
}
.dropdown-submenu.pull-left {
    float:none;
}
.dropdown-submenu.pull-left>.dropdown-menu {
    left:-100%;
    margin-left:10px;
    -webkit-border-radius:6px 0 6px 6px;
    -moz-border-radius:6px 0 6px 6px;
    border-radius:6px 0 6px 6px;
}
Copier après la connexion

Marquage :

<ul class="nav navbar-nav">
  <li class="menu-item dropdown">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Drop Down<b class="caret"></b></a>
    <ul class="dropdown-menu">
      <li class="menu-item dropdown dropdown-submenu">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Level 1</a>
        <ul class="dropdown-menu">
          <li class="menu-item ">
            <a href="#">Link 1</a>
          </li>
          <li class="menu-item dropdown dropdown-submenu">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Level 2</a>
            <ul class="dropdown-menu">
              <li>
                <a href="#">Link 3</a>
              </li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </li>
</ul>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal