Probé este método ( su violín ) para habilitar el menú desplazable con Bootstrap, pero con ese enfoque, el menú desplazable expande su contenedor, violín , el menú no desplazable, correctamente, no hace esto.
¿Cómo puedo arreglar esto? ¡También agradecemos las sugerencias sobre otros enfoques compatibles con Bootstrap!
Como referencia, aquí está el HTML del violín del primer método:
<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>
Y el 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
fuente
fuente
Respuestas:
Creo que puede simplificar esto simplemente agregando las propiedades CSS necesarias a su clase especial de menú desplazable.
CSS:
HTML
Ejemplo de trabajo: https://www.bootply.com/86116
Bootstrap 4
Otro ejemplo para Bootstrap 4 usando flexbox
fuente
Puede usar la clase CSS integrada predesplazable en bootstrap 3 dentro del elemento span del menú desplegable y funciona de inmediato sin implementar css personalizado.
fuente
Para CSS, descubrí que la altura máxima de 180 es mejor para el paisaje 320 de teléfonos móviles cuando se muestra el navegador Chrome.
Además, para agregar barras de desplazamiento visibles, este CSS debería hacer el truco:
Los cambios se reflejan aquí: https://www.bootply.com/BhkCKFEELL
fuente
Haga todo en línea con la etiqueta UL
fuente
Solo soluciono este problema en mi proyecto
Código CSS
Código HTML
fuente
Espero que este código funcione bien, prueba esto.
agregar archivo css.
Código HTML:
fuente