Maison > interface Web > tutoriel CSS > Comment implémenter des sous-menus dans les listes déroulantes Bootstrap ?

Comment implémenter des sous-menus dans les listes déroulantes Bootstrap ?

Susan Sarandon
Libérer: 2024-12-31 04:41:09
original
1050 Les gens l'ont consulté

How to Implement Submenus in Bootstrap Dropdowns?

Résolution du sous-menu manquant dans la liste déroulante Bootstrap

Introduction

Bootstrap 3, une ancienne version du frontal populaire framework, il lui manquait une classe dédiée pour implémenter des sous-menus dans les listes déroulantes. Cette absence peut être attribuée à l'évolution des tendances de conception Web favorisant des interfaces plus simples et une utilisation réduite des sous-menus. Cependant, il existe des moyens d'obtenir des fonctionnalités de sous-menu en utilisant du CSS supplémentaire.

Bootstraps 5 (mis à jour en 2023)

Implémentez JavaScript pour désactiver la fermeture automatique des sous-menus lorsque le parent La liste déroulante 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 pour la barre de navigation dropdowns :

.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

Bootstraps 4 (mis à jour en 2018)

En raison de la suppression de la classe de sous-menu déroulant dans Bootstrap 3, une solution de contournement utilisant CSS est nécessaire :

.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

Bootstraps 3

CSS :

.dropdown-submenu {
    position: relative;
}

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

.dropdown-submenu:hover > .dropdown-menu {
    display: block;
}

.dropdown-submenu > a:after {
    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;
}

.dropdown-submenu:hover > a:after {
    border-left-color: #ffffff;
}
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