Como criar: Menu suspenso

Aprenda a usar CSS para criar menus suspensoes.

Menu suspenso

O menu suspenso é um menu alternável que permite ao usuário escolher um valor da lista pré-definida:

Experimente você mesmo

Crie um menu suspenso suspenso

Crie um menu suspenso que apareça quando o usuário passar o mouse sobre o elemento.

Primeiro passo - Adicionar HTML:

<div class="dropup">
  <button class="dropbtn">Dropup</button>
  <div class="dropup-content">
    <a href="#">Link 1</a>
    <a href="#">Link 2</a>
    <a href="#">Link 3</a>
  </div>
</div>

Exemplo de explicação:

Você pode usar qualquer elemento para abrir o menu suspenso, por exemplo, elementos <button>, <a> ou <p>.

Crie o menu suspenso usando um elemento de contêiner (como <div>) e adicione links suspensoes nele.

Use o elemento <div> para envolver o botão e o <div> para posicionar corretamente o menu suspenso usando CSS.

Segundo passo - Adicionar CSS:

/* Botão de menu suspenso */
.dropbtn {
  background-color: #3498DB;
  color: white;
  padding: 16px;
  font-size: 16px;
  border: none;
}
/* Contêiner <div> - usado para posicionar o conteúdo do menu suspenso */
.dropup {
  position: relative;
  display: inline-block;
}
/* Conteúdo do menu suspenso (oculto por padrão) */
.dropup-content {
  display: none;
  position: absolute;
  bottom: 50px;
  background-color: #f1f1f1;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}
/* Links no menu suspenso */
.dropup-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}
/* Altera a cor do link ao passar o mouse */
.dropup-content a:hover {background-color: #ddd}
/* Exibe o menu suspenso ao passar o mouse */
.dropup:hover .dropup-content {
  display: block;
}
/* Altera a cor de fundo do botão suspenso quando o conteúdo do menu suspenso estiver visível */
.dropup:hover .dropbtn {
  background-color: #2980B9;
}

Experimente você mesmo

Exemplo de explicação:

Definimos estilos como cor de fundo, margem interna e outros para o botão suspenso.

.dropup classe position: relativequando queremos colocar o conteúdo do menu suspenso no topo do botão suspenso (usando position: absolute),é necessário.

.dropup-content A classe contém o menu suspenso real. Ela está oculta por padrão e será exibida ao passar o mouse (veja a seguir). Observe que o comprimento mínimo é configurado em 160px. Você pode alterar este valor conforme necessário. Dica: Se você desejar que o comprimento da largura do conteúdo do menu suspenso seja igual ao do botão suspenso, configure a largura como 100% (e use na tela pequena) overflow: auto para ativar a rolagem).

Não usamos bordas, mas sim box-shadow propriedade, para 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 passar o mouse sobre o botão de rollup.