Como criar: Barra de navegação de menu de desdobramento

Aprenda a criar uma barra de navegação de menu de desdobramento.

Menu de desdobramento na barra de navegação

Experimente você mesmo

Crie uma barra de navegação de menu de desdobramento

Quando o usuário passar o mouse sobre o elemento dentro da barra de navegação, aparecerá um menu de desdobramento.

Primeiro passo - Adicionar HTML:

<div class="navbar">
  <a href="#home">Início</a>
  <a href="#news">Notícias</a>
  <div class="dropdown">
    <button class="dropbtn">Dropdown
      <i class="fa fa-caret-down"></i>
    </button>
    <div class="dropdown-content">
      <a href="#">Link 1</a>
      <a href="#">Link 2</a>
      <a href="#">Link 3</a>
    </div>
  </div>
</div>

Exemplo de explicação:

Use qualquer elemento para abrir o menu de desdobramento, por exemplo, <button>, <a> ou elemento <p>.

Crie um menu de desdobramento usando um elemento de contêiner (como <div>) e adicione links de menu.

Envolva o botão e outro elemento <div> para usar CSS para posicionar corretamente o menu de desdobramento.

Segundo passo - Adicionar CSS:

/* Container da barra de navegação */
.navbar {
  overflow: hidden;
  background-color: #333;
  font-family: Arial;
}
/* Links dentro da barra de navegação */
.navbar a {
  float: left;
  font-size: 16px;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}
/* Container de desdobramento */
.dropdown {
  float: left;
  overflow: hidden;
}
/* Botão de desdobramento */
.dropdown .dropbtn {
  font-size: 16px;
  border: none;
  outline: none;
  color: white;
  padding: 14px 16px;
  background-color: inherit;
  font-family: inherit; /* Para alinhamento vertical em dispositivos móveis é muito importante */
  margin: 0; /* Importante para alinhamento vertical em dispositivos móveis */
}
/* Adiciona cor de fundo vermelha aos links da barra de navegação ao passar o mouse */
.navbar a:hover, .dropdown:hover .dropbtn {
  background-color: red;
}
/* Conteúdo do menu suspenso (oculto por padrão) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}
/* Links no menu suspenso */
.dropdown-content a {
  float: none;
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}
/* Adiciona cor de fundo cinza ao link do menu suspenso ao passar o mouse */
.dropdown-content a:hover {
  background-color: #ddd;
}
/* Exibe o menu suspenso ao passar o mouse */
.dropdown:hover .dropdown-content {
  display: block;
}

Experimente você mesmo

Exemplo de explicação:

Já configuramos estilos como cor de fundo, margem interna para a barra de navegação e links da barra de navegação.

Já configuramos estilos como cor de fundo, margem interna para o botão do menu suspenso.

.dropdown Classe é .dropdown-content O contêiner. Como é um elemento <div> e não <a>, devemos fazê-lo flutuante para garantir que ele fique ao lado do link.

.dropdown-content Classe que contém o menu suspenso real. Ele está oculto por padrão e será exibido ao passar o mouse (veja a seguir). Observe que o comprimento mínimo é configurado para 160px. Sinta-se à vontade para alterar essa configuração.

Não usamos bordas, mas sim box-shadow A propriedade, faz com que o menu suspenso pareça como uma 'carta'. Também usamos z-index Coloque o menu suspenso à frente de outros elementos.

:hover O seletor é usado para exibir o menu suspenso quando o usuário move o mouse sobre o botão do menu suspenso.

Menu suspenso clicável na barra de navegação

Experimente você mesmo

Páginas relacionadas

Tutorial:Menu suspenso CSS

Tutorial:Como criar um menu suspenso clicável

Tutorial:Barra de navegação CSS

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