Est-il possible d'avoir un menu déroulant à plusieurs niveaux en utilisant les éléments de Twitter Bootstrap 2? La version originale n'a pas cette fonctionnalité.
css
twitter-bootstrap
Hellnar
la source
la source
Réponses:
Réponse mise à jour
* Réponse mise à jour prenant en charge la feuille de style de la version bootstrap v2.1.1 **.
** Mais attention car cette solution a été supprimée de la v3
Je voulais juste souligner que cette solution n'est plus nécessaire car le dernier bootstrap prend désormais en charge les listes déroulantes à plusieurs niveaux par défaut. Vous pouvez toujours l'utiliser si vous utilisez des versions plus anciennes, mais pour ceux qui ont mis à jour vers la dernière (v2.1.1 au moment de la rédaction), ce n'est plus nécessaire. Voici un violon avec la liste déroulante à plusieurs niveaux par défaut mise à jour directement à partir de la documentation:
http://jsfiddle.net/2Smgv/2858/
Réponse originale
Des problèmes ont été soulevés concernant la prise en charge des sous-menus sur github et ils sont généralement fermés par les développeurs de bootstrap, comme celui-ci , donc je pense que c'est aux développeurs qui utilisent le bootstrap de trouver quelque chose. Voici une démo que j'ai préparée pour vous montrer comment pirater un sous-menu fonctionnel.
Code pertinent
CSS
J'ai créé ma propre
.sub-menu
classe à appliquer aux menus déroulants à 2 niveaux, de cette façon nous pouvons les positionner à côté de nos éléments de menu. Également modifié la flèche pour l'afficher à gauche du groupe de sous-menus.Démo
la source
[Twitter Bootstrap v3]
Pour créer un menu déroulant à n niveaux (compatible avec les appareils tactiles) dans Twitter Bootstrap v3,
CSS:
JQuery:
HTML:
la source
trigger.off('click');
avant de paramétrer les écouteurs afin d'éviter la "double écoute" d'un événement au cas où l'initialisation javascript serait déclenchée plus d'une fois.Cet exemple provient de http://bootsnipp.com/snippets/featured/multi-level-dropdown-menu-bs3
Fonctionne pour moi dans Bootstrap v3.1.1.
HTML
CSS
la source
J'ai pu corriger le sous-menu toujours épinglé en haut du menu parent à partir de la réponse d'Andres avec l'ajout suivant:
J'ajoute également une icône "icon-chevron-right" sur les éléments qui contiennent des sous-menus de menu, et change l'icône du noir au blanc en survol (pour compléter le texte en passant au blanc et mieux paraître avec le fond bleu sélectionné).
Voici le changement complet de less / css (remplacez ce qui précède par ceci):
la source
Je viens d'ajouter
class="span2"
aux<li>
éléments de liste déroulante et cela a fonctionné.la source
Puisque Bootstrap 3 a supprimé la partie sous-menu et que nous devons nous adapter le style, je pense qu'il est préférable d'utiliser SmartMenu Bootstrap: https://vadikom.github.io/smartmenus/src/demo/bootstrap-navbar.html#
Cela nous ferait gagner du temps sur la réactivité et le style mobiles.
Ce plugin également très prometteur.
la source