vertical example ejemplos bootstrap css twitter-bootstrap flexbox bootstrap-4 twitter-bootstrap-4

css - example - navbar vertical bootstrap 4



Bootstrap 4 navbar con 2 filas (2)

He creado una barra de navegación con Bootstrap 4 alpha 6 que tiene una marca / icono grande a la izquierda y 2 navbar-nav con enlaces a la derecha del icono. Una navegación tiene enlaces, y la otra navegación tiene iconos. Funciona exactamente como yo quiero, excepto por una cosa.

Me gustaría que las 2 barras de navegación aparezcan en 2 filas separadas a la derecha del icono. Me gusta esto:

------------------------------------------------------ link link link link brand-icon ------------------------------------------- icon icon icon ------------------------------------------------------

La versión móvil seguirá mostrando los enlaces verticalmente como lo hace ahora. He intentado varias cosas diferentes con flexbox, pero no puedo hacerlo funcionar.

Aquí está mi código:

<nav class="navbar navbar-toggleable-md navbar-inverse bg-inverse"> <div class="container"> <button class="navbar-toggler navbar-toggler-right align-self-center mt-3" type="button" data-toggle="collapse" data-target="#navbarCollapse"> <span class="navbar-toggler-icon"></span> </button> <h1 class="py-2 ml-lg-2 mx-3"><a href="#"><i class="fa fa-envelope-open-o fa-lg" aria-hidden="true"></i></a></h1> <div class="collapse navbar-collapse ml-lg-0 ml-3" id="navbarCollapse"> <ul class="navbar-nav"> <li class="nav-item active"> <a class="nav-link" href="#">Home</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Product</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Shop</a> </li> <li class="nav-item"> <a class="nav-link" href="#">About</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Events</a> </li> </ul> <ul class="navbar-nav"> <li class="nav-item"> <a class="nav-link pr-3" href="#"><i class="fa fa-facebook"></i></a> </li> <li class="nav-item"> <a class="nav-link pr-3" href="#"><i class="fa fa-instagram"></i></a> </li> <li class="nav-item"> <a class="nav-link pr-3" href="#"><i class="fa fa-twitter"></i></a> </li> </ul> </div> </div> </nav>


La "variación con las 2 filas alineadas a la derecha" no alineaba correctamente las filas en Safari para mí. Puse las listas desordenadas en un nuevo div con las clases flex-column y ml-auto .

<nav class="navbar navbar-toggleable-md navbar-inverse bg-inverse"> <div class="container"> <button class="navbar-toggler navbar-toggler-right align-self-center mt-3" type="button" data-toggle="collapse" data-target="#navbarCollapse"> <span class="navbar-toggler-icon"></span> </button> <h1 class="py-2 ml-lg-2 mx-3"><a href="#"><i class="fa fa-envelope-open-o fa-lg" aria-hidden="true"></i></a></h1> <div class="collapse navbar-collapse ml-lg-0 ml-3" id="navbarCollapse"> <div class="flex-column ml-auto"> <ul class="navbar-nav"> <li class="nav-item active"> <a class="nav-link" href="#">Home</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Product</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Shop</a> </li> <li class="nav-item"> <a class="nav-link" href="#">About</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Events</a> </li> </ul> <ul class="navbar-nav"> <li class="nav-item"> <a class="nav-link pr-3" href="#"><i class="fa fa-facebook"></i></a> </li> <li class="nav-item"> <a class="nav-link pr-3" href="#"><i class="fa fa-instagram"></i></a> </li> <li class="nav-item"> <a class="nav-link pr-3" href="#"><i class="fa fa-twitter"></i></a> </li> </ul> </div> </div> </div> </nav>


Puede usar la clase de utilidad flexbox de la flex-column flexible para apilar los 2 botones de navegación verticalmente al lado del icono. Esto establece flex-direction: column en el div navbar-collapse para que los elementos secundarios se navbar-collapse verticalmente.

<nav class="navbar navbar-toggleable-md navbar-inverse bg-inverse"> <div class="container"> <button class="navbar-toggler navbar-toggler-right align-self-center mt-3" type="button" data-toggle="collapse" data-target="#navbarCollapse"> <span class="navbar-toggler-icon"></span> </button> <h1 class="py-2 ml-lg-2 mx-3"><a href="#"><i class="fa fa-envelope-o fa-lg mt-2" aria-hidden="true"></i></a></h1> <div class="collapse navbar-collapse flex-column ml-lg-0 ml-3" id="navbarCollapse"> <ul class="navbar-nav"> <li class="nav-item active"> <a class="nav-link" href="#">Home</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Product</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Shop</a> </li> <li class="nav-item"> <a class="nav-link" href="#">About</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Events</a> </li> </ul> <ul class="navbar-nav flex-row mb-2"> <li class="nav-item"> <a class="nav-link py-1 pr-3" href="#"><i class="fa fa-facebook"></i></a> </li> <li class="nav-item"> <a class="nav-link py-1 pr-3" href="#"><i class="fa fa-instagram"></i></a> </li> <li class="nav-item"> <a class="nav-link py-1 pr-3" href="#"><i class="fa fa-twitter"></i></a> </li> </ul> </div> </div> </nav>

Demo - Bootstrap 4 navbar con 2 filas

Aquí hay otra variación con el formulario de búsqueda de 2 filas y alinear a la derecha :

<nav class="navbar navbar-toggleable-md navbar-light bg-faded"> <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarCollapse"> <span class="navbar-toggler-icon"></span> </button> <a class="navbar-brand my-auto" href="#">Brand</a> <div class="collapse navbar-collapse flex-md-column" id="navbarCollapse"> <ul class="navbar-nav ml-auto small"> <li class="nav-item active"> <a class="nav-link" href="#">Shop</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Products</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Team</a> </li> <li class="nav-item"> <a class="nav-link" href="#">About</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Events</a> </li> </ul> <form class="form-inline ml-auto"> ... </form> </div> </nav>

Demo - Navbar con 2 filas a la derecha

Actualización para Bootstrap 4.0.0 :
https://www.codeply.com/go/05hEHoiUvv

Aquí hay un escenario alternativo con 2 barras de navegación con un conmutador móvil

Bootstrap 4.0: dos barras de navegación que se colapsan en una sola palanca
¿Cómo puedo tener Brand y Navbar en líneas separadas?