Como criar: menu de navegação móvel

Aprenda como usar CSS e JavaScript para criar menus de navegação superior para smartphones/tablets.

Barra de navegação móvel

Vertical (recomendado):

Experimente pessoalmente

Criar menu de navegação móvel

Primeiro passo - Adicionar 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">Sobre</a>
  </div>
  <!-- "Menu de hambúrguer" / "Ícone de barra" para alternar os links de navegação -->
  <a href="javascript:void(0);" class="icon" onclick="myFunction()">
    <i class="fa fa-bars"></i>
  </a>
</div>

Segundo passo - Adicionar CSS:

/* Definir o estilo do menu de navegação */
.topnav {
  overflow: hidden;
  background-color: #333;
  position: relative;
}
/* Ocultar os links dentro do menu de navegação (exceto o sinal ou página inicial) */
.topnav #myLinks {
  display: none;
}
/* Definir o estilo dos links do menu de navegação */
.topnav a {
  color: white;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
  display: block;
}
/* Definir o estilo do menu de hambúrguer */
.topnav a.icon {
  background: black;
  display: block;
  position: absolute;
  right: 0;
  top: 0;
}
/* Adicionar cor de fundo cinza ao passar o mouse */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}
/* Definir o estilo de links ativos (ou página inicial/símbolo) */
.active {
  background-color: #04AA6D;
  color: white;
}

Terceiro passo - Adicionar JavaScript:

/* Quando o usuário clicar no menu de hambúrguer ou ícone de barra, alternar o estado de exibição e ocultação dos links da navegação */
function myFunction() {
  var x = document.getElementById("myLinks");
  if (x.style.display === "block") {
    x.style.display = "none";
  } else {
    x.style.display = "block";
  }
}

Experimente pessoalmente

Páginas relacionadas

Tutorial:Barra de navegação CSS

Tutorial:Como criar uma barra de navegação superior responsiva