En Bootstrap 4, si desea anular cuando navbar-expand- *, se expande y colapsa y muestra y oculta la hamburguesa (navbar-toggler), debe encontrar ese estilo / definición en bootstrap.css y redefinirlo en su propio customstyle.css (o directamente en bootstrap.css si así lo desea).
P.ej. Quería que navbar-expand-lg colapsara y mostrara navbar-toggler a 950px. En bootstrap.css encuentro:
@media (max-width: 991.98px) {
.navbar-expand-lg > .container,
.navbar-expand-lg > .container-fluid {
padding-right: 0;
padding-left: 0;
}
}
Y debajo de eso ...
@media (min-width:992px) {
... lots of styling ...
}
Copié ambas consultas de @media y las pegué en mi style.css, luego modifiqué el tamaño para adaptarlo a mis necesidades. En mi caso, quería que colapsase a 950 px. Las consultas @media deben tener diferentes tamaños (supongo), por lo que configuré el ancho máximo del contenedor en 949.98px y usé el 950px para la otra consulta @media, por lo que el siguiente código se agregó a mi style.css. Esto no fue fácil de desenredar de soluciones retorcidas que encontré en Stackoverflow y en otros lugares. Espero que esto ayude.
@media (max-width: 949.98px) {
.navbar-expand-lg > .container,
.navbar-expand-lg > .container-fluid {
padding-right: 0;
padding-left: 0;
}
}
@media (min-width: 950px) {
.navbar-expand-lg {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-flow: row nowrap;
flex-flow: row nowrap;
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
}
.navbar-expand-lg .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-expand-lg .navbar-nav .dropdown-menu {
position: absolute;
}
.navbar-expand-lg .navbar-nav .dropdown-menu-right {
right: 0;
left: auto;
}
.navbar-expand-lg .navbar-nav .nav-link {
padding-right: 0.5rem;
padding-left: 0.5rem;
}
.navbar-expand-lg > .container,
.navbar-expand-lg > .container-fluid {
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}
.navbar-expand-lg .navbar-collapse {
display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
-ms-flex-preferred-size: auto;
flex-basis: auto;
}
.navbar-expand-lg .navbar-toggler {
display: none;
}
.navbar-expand-lg .dropup .dropdown-menu {
top: auto;
bottom: 100%;
}
}
collapse
la clase es importante para la pantalla del móvil, de modo que si la anchura está por debajo de la barra de navegación 768px serádisplay:none
, por lo que la acción requerida sería aplicada en el interior 768 y 1000 marca ...navbar-collapse.collapse
que sídisplay: block !important
. Desactivar eso dará como resultado que el botón de colapso no aparezca ... así que supongo que es necesario redefinir muchas clases, no solocollapse