J'ai essayé cette méthode ( leur violon ) pour activer le menu déroulant avec Bootstrap, mais avec cette approche, le menu déroulant étend son conteneur - violon - le menu non déroulant, correctement, ne le fait pas.
Comment puis-je réparer cela? Les suggestions sur d'autres approches compatibles avec Bootstrap sont également appréciées!
Pour référence, voici le code HTML du violon de la première méthode:
<ul class="nav">
<li class="dropdown">
<a class="icon-key icon-white" data-toggle="dropdown" href="#" style=
"font-weight: bold"></a>
<div class="dropdown-menu" style="margin-left: 2em">
<ul class="dropdown-menu">
<!-- static non-scrollable menu header 1 -->
</ul>
</div>
<div class="dropdown-menu" style="margin-left: 2em">
<ul class="dropdown-menu">
<li class="disabled">
<a href="#"><i class="icon-group"></i> <b>My Groups</b></a>
</li>
<li>
<div class="dropdown-menu scroll-menu scroll-menu-2x"
style="margin-left: 2em">
<ul class="dropdown-menu scroll-menu scroll-menu-2x">
<li>
<a href="#">User</a>
</li>
<li>
<a href="#">Administrators</a>
</li>
<li>
<a href="#">Some Other Group</a>
</li>
</ul>
</div>
<ul class="dropdown-menu scroll-menu scroll-menu-2x">
<!-- Additional menu items omitted for brevity -->
</ul>
</li>
</ul>
</div>
<div class="dropdown-menu" style="margin-left: 2em">
<ul class="dropdown-menu">
<!-- static non-scrollable menu header 2 -->
</ul>
</div>
<div class="dropdown-menu" style="margin-left: 2em">
<ul class="dropdown-menu">
<li class="disabled">
<a href="#"><i class="icon-user"></i> <b>My Roles</b></a>
</li>
<li>
<div class="dropdown-menu scroll-menu scroll-menu-2x"
style="margin-left: 2em">
<ul class="dropdown-menu scroll-menu scroll-menu-2x">
<li>
<a href="#">Core Users</a>
</li>
<li>
<a href="#">Admin</a>
</li>
<li>
<a href="#">Some Other Role</a>
</li>
</ul>
</div>
<ul class="dropdown-menu scroll-menu scroll-menu-2x">
<!-- Additional menu items omitted for brevity -->
</ul>
</li>
</ul>
</div>
<div class="dropdown-menu" style="margin-left: 2em">
<ul class="dropdown-menu">
<!-- static non-scrollable menu footer -->
</ul>
</div>
<ul class="dropdown-menu">
<li class="disabled">
<a href="#"><i class="icon-chevron-up pull-left"></i> <i class="icon-chevron-up pull-right"></i></a>
</li>
</ul>
</li>
</ul>
Et le CSS:
/* So we wont impact the original bootstrap menu or it's pseudo call-out
arrow the menu is wrapped in a sub dropdown-menu with a chained scroll-menu */
ul.scroll-menu {
position:relative;
display:inherit!important;
overflow-x:auto;
-webkit-overflow-scrolling:touch;
-moz-overflow-scrolling:touch;
-ms-overflow-scrolling:touch;
-o-overflow-scrolling:touch;
overflow-scrolling:touch;
top:0!important;
left:0!important;
width:100%;
height:auto;
max-height:500px;
margin:0;
border-left:none;
border-right:none;
-webkit-border-radius:0!important;
-moz-border-radius:0!important;
-ms-border-radius:0!important;
-o-border-radius:0!important;
border-radius:0!important;
-webkit-box-shadow:none;
-moz-box-shadow:none;
-ms-box-shadow:none;
-o-box-shadow:none;
box-shadow:none
}
css
twitter-bootstrap
scrollable
eliashdezr
la source
la source
Réponses:
Je pense que vous pouvez simplifier cela en ajoutant simplement les propriétés CSS nécessaires à votre classe de menu déroulant spécial.
CSS:
HTML
Exemple de travail: https://www.bootply.com/86116
Bootstrap 4
Un autre exemple pour Bootstrap 4 utilisant flexbox
la source
Vous pouvez utiliser la classe CSS intégrée pré-défilable dans bootstrap 3 à l'intérieur de l'élément span de la liste déroulante et cela fonctionne immédiatement sans implémenter de css personnalisé.
la source
Pour CSS, j'ai trouvé qu'une hauteur maximale de 180 est meilleure pour le paysage de téléphones mobiles 320 lors de l'affichage du chrome du navigateur.
Aussi, pour ajouter des barres de défilement visibles, ce CSS devrait faire l'affaire:
Les changements sont reflétés ici: https://www.bootply.com/BhkCKFEELL
la source
Faites tout dans la ligne du tag UL
la source
Je viens de résoudre ce problème dans mon projet-
Code CSS
Code HTML
la source
j'espère que ce code fonctionne bien, essayez ceci.
ajouter un fichier css.
Code HTML:
la source