Cómo crear: menú de navegación móvil

Aprende cómo usar CSS y JavaScript para crear menús de navegación superior para smartphones y tabletas.

Barra de navegación móvil

Vertical (recomendado):

Prueba personalmente

Horizontal:

Prueba personalmente

Crear un menú de navegación móvil

Paso 1 - Añadir HTML:

<!-- 加载图标库以在小屏幕上显示汉堡菜单(三横杠) -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- Top Navigation Menu -->
<div class="topnav">
  <a href="#home" class="active">Logo</a>
  <!-- Navigation links (hidden by default) -->
  <div id="myLinks">
    <a href="#news">News</a>
    <a href="#contact">Contact</a>
    <a href="#about">Acerca de</a>
  </div>
  <!-- "Menú de hamburguesa" / "Icono de barra" para alternar los enlaces de navegación -->
  <a href="javascript:void(0);" class="icon" onclick="myFunction()">
    <i class="fa fa-bars"></i>
  </a>
</div>

Segundo - Añadir CSS:

/* Establecer el estilo del menú de navegación */
.topnav {
  overflow: hidden;
  background-color: #333;
  position: relative;
}
/* Ocultar los enlaces dentro del menú de navegación (excepto el logotipo / página principal) */
.topnav #myLinks {
  display: none;
}
/* Establecer el estilo de los enlaces del menú de navegación */
.topnav a {
  color: white;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
  display: block;
}
/* Establecer el estilo del menú de hamburguesa */
.topnav a.icon {
  background: black;
  display: block;
  position: absolute;
  right: 0;
  top: 0;
}
/* Añadir color de fondo gris al pasar el ratón */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}
/* Establecer el estilo de los enlaces activos (o página principal / logotipo) */
.active {
  background-color: #04AA6D;
  color: white;
}

Tercero - Añadir JavaScript:

/* Al hacer clic en el menú de hamburguesa / icono de barra, alternar el estado de visualización y ocultación de los enlaces del menú de navegación */
function myFunction() {
  var x = document.getElementById("myLinks");
  if (x.style.display === "block") {
    x.style.display = "none";
  } else {
    x.style.display = "block";
  }
}

Prueba personalmente

Páginas relacionadas

Tutoriales:Barra de navegación CSS

Tutoriales:¿Cómo crear una barra de navegación superior responsive?