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
720 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!

source:php.cn
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