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

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