Como criar: Menu grande
- Página anterior Menu de arrasto
- Próxima página Menu móvel
Aprenda como criar um menu grande (menu suspenso de largura total na barra de navegação).
Menu grande
Crie um menu grande
Crie um menu suspenso que será exibido quando o usuário passar o mouse sobre o elemento da barra de navegação.
Primeiro passo - Adicionar HTML:
<div class="navbar"> <a href="#home">Home</a> <a href="#news">News</a> <div class="dropdown"> <button class="dropbtn">Dropdown <i class="fa fa-caret-down"></i> </button> <div class="dropdown-content"> <div class="header"> <h2>Mega Menu</h2> </div> <div class="row"> <div class="column"> <h3>Category 1</h3> <a href="#">Link 1</a> <a href="#">Link 2</a> <a href="#">Link 3</a> </div> <div class="column"> <h3>Category 2</h3> <a href="#">Link 1</a> <a href="#">Link 2</a> <a href="#">Link 3</a> </div> <div class="column"> <h3> Categoria 3 </h3> <a href="#">Link 1</a> <a href="#">Link 2</a> <a href="#">Link 3</a> </div> </div> </div> </div> </div>
Exemplo de explicação:
Você pode usar qualquer elemento para abrir a lista suspensa, por exemplo, elementos <button>, <a> ou <p>.
Use o elemento contêiner (como <div class="dropdown-content">) para criar a lista suspensa, adicione uma grade (colunas) e, em seguida, adicione os links da lista suspensa na grade.
Use o elemento <div class="dropdown"> para envolver o botão e o elemento contêiner (<div class="dropdown-content">), para posicionar corretamente a lista suspensa usando CSS.
Segundo passo - Adicionar CSS:
/* Contêiner 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; } /* Contêiner da lista suspensa */ .dropdown { float: left; overflow: hidden; } /* Botão da lista suspensa */ .dropdown .dropbtn { font-size: 16px; border: none; outline: none; color: white; padding: 14px 16px; background-color: inherit; font: inherit; /* Importante para alinhamento vertical em dispositivos móveis */ 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 da lista suspensa (oculto por padrão) */ .dropdown-content { display: none; position: absolute; background-color: #f9f9f9; width: 100%; left: 0; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; } /* Grande título de menu (se necessário) */ .dropdown-content .header { background: red; padding: 16px; color: white; } /* Exibe o menu suspenso ao passar o mouse */ .dropdown:hover .dropdown-content { display: block; } /* Cria três colunas iguais e as alinha lado a lado */ .column { float: left; width: 33.33%; padding: 10px; background-color: #ccc; height: 250px; } /* Define estilos para os links dentro da coluna */ .column a { float: none; color: black; padding: 16px; text-decoration: none; display: block; text-align: left; } /* Adiciona cor de fundo ao passar o mouse */ .column a:hover { background-color: #ddd; } /* Limpa a flutuação após as colunas */ .row:after { content: ""; display: table; clear: both; }
Exemplo de explicação:
Já definimos estilos como cor de fundo, margem interna para a barra de navegação e links da barra de navegação.
Definimos estilos como cor de fundo, margem interna para o botão do menu suspenso.
.dropdown-content
Classe que contém o menu suspenso real. Ela está oculta por padrão e é exibida ao passar o mouse (veja a seguir). Ela está posicionada diretamente abaixo do botão do menu suspenso e a largura é configurada para 100%, para cobrir toda a tela.
Não usamos bordas, mas usamos box-shadow
faz com que o menu suspenso pareça como uma 'carta'. Também usamos A propriedade
Coloca o menu suspenso à frente de outros elementos.
:hover
Seletor usado para exibir o menu suspenso quando o usuário passa o mouse sobre o botão do menu suspenso.
.column
Classe usada para criar três colunas flutuantes lado a lado dentro do menu suspenso (para exibir diferentes categorias).
Menu grande responsivo
/* Layout responsivo - faz três colunas empilhadas em vez de alinhadas lado a lado */ @media screen and (max-width: 600px) { .column { width: 100%; height: auto; } }
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 superior responsiva
- Página anterior Menu de arrasto
- Próxima página Menu móvel