Cómo crear: menú de navegación inferior responsivo

Aprende a crear un menú de navegación inferior responsivo utilizando CSS y JavaScript.

Barra de navegación inferior responsiva

Ajuste el tamaño de la ventana del navegador para ver cómo funciona el menú de navegación responsiva:

Prueba por tu cuenta

Crear una barra de navegación inferior responsiva

Primer paso - Añadir HTML:

<div class="navbar" id="myNavbar">
  <a href="#home">Inicio</a>
  <a href="#news">Noticias</a>
  <a href="#contact">Contacto</a>
  <a href="#about">Acerca de</a>
  <a href="javascript:void(0);" class="icon" onclick="myFunction()">☰</a>
</div>

Los enlaces con class="icon" se utilizan para abrir y cerrar la barra de navegación en la pantalla pequeña.

Segundo paso - Añadir CSS:

/* Colocar la barra de navegación en la parte inferior de la página y hacerla fija */
.navbar {
  background-color: #333;
  overflow: hidden;
  position: fixed;
  inferior: 0;
  width: 100%;
}
/* Establecer el estilo de los enlaces en la barra de navegación */
.navbar a {
  float: left;
  mostrar: bloque;
  color: #f2f2f2;
  alineación de texto: centro;
  rejilla: 14px 16px;
  decoración de texto: ninguna;
  tamaño de fuente: 17px;
}
/* Cambiar el color del enlace al pasar el ratón por encima */
.navbar a:hover {
  color de fondo: #ddd;
  color: negro;
}
/* Añadir color de fondo verde para los enlaces activos */
.navbar a.active {
  color de fondo: #04AA6D;
  color: blanco;
}
/* Ocultar los enlaces que deben abrir y cerrar la barra de navegación en la pantalla pequeña */
.navbar .icon {
  mostrar: ninguno;
}

Añadir consulta de medios:

/* Al tener un ancho de pantalla menor de 600 píxeles, ocultar todos los enlaces excepto el primero ("Inicio") y mostrar los enlaces que deben abrir y cerrar la barra de navegación (.icon) */
@media pantalla y (ancho máximo: 600px) {
  .navbar a:not(:first-child) {mostrar: ninguno;}
  .navbar a.icon {
    flotar: derecha;
    mostrar: bloque;
  }
}
/* Al hacer clic en el ícono, usar JavaScript para agregar la clase "responsive" a la barra de navegación. */
Esta clase hace que la barra de navegación se vea mejor en pantallas pequeñas (muestra los enlaces verticalmente en lugar de horizontalmente) */
@media pantalla y (ancho máximo: 600px) {
  .navbar.responsive a.icon {
    posición: absoluta;
    derecha: 0;
    inferior: 0;
  }
  .navbar.responsive a {
    flotar: ninguno;
    mostrar: bloque;
    alineación de texto: izquierda;
  }
}

Tercero - Añadir JavaScript:

/* Al hacer clic en el ícono, alternar entre agregar y eliminar la clase "responsive" en la barra de navegación */
function myFunction() {
  var x = document.getElementById("myNavbar");
  if (x.className === "navbar") {
    x.className += " responsive";
  } else {
    x.className = "navbar";
  }
}

Prueba por tu cuenta

Páginas relacionadas

Tutoriales:Barra de navegación CSS