Como criar: Barra de navegação responsiva com menu suspenso
- Página anterior Menu suspenso na barra de navegação lateral
- Próxima página Menu de navegação lateral
Aprenda a criar uma barra de navegação responsiva com menu suspenso.
Barra de navegação superior responsiva com menu suspenso
Crie uma navegação superior responsiva com menu suspenso
Primeiro passo - Adicionar HTML:
<div class="topnav" id="myTopnav"> <a href="#home" class="active">Home</a> <a href="#news">News</a> <a href="#contact">Contact</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> <a href="#about">About</a> <a href="javascript:void(0);" class="icon" onclick="myFunction()">☰</a> </div>
Segundo passo - Adicionar CSS:
/* Adicionar cor de fundo preta para a navegação superior */ .topnav { cor-de-fundo: #333; sobra: none; } /* Definir o estilo dos links na barra de navegação */ .topnav a { flutuar: esquerda; display: block; cor: #f2f2f2; alinhamento-texto: centro; preenchimento: 14px 16px; decoraçao-texto: none; tamanho-fonte: 17px; } /* Adicionar uma classe ativa para destacar a página atual */ .active { cor-de-fundo: #04AA6D; cor: branco; } /* Ocultar, em telas pequenas, os links para abrir e fechar a barra de navegação superior */ .topnav .icon { display: none; } /* Container do menu suspenso - usado para posicionar o conteúdo do menu suspenso */ .dropdown { flutuar: esquerda; sobra: none; } /* Definir o estilo do botão do menu suspenso para que ele se ajuste à barra de navegação superior */ .dropdown .dropbtn { tamanho-fonte: 17px; borda: none; contorno: none; cor: branco; preenchimento: 14px 16px; cor-de-fundo: herdar; família-fonte: herdar; margem: 0; } /* Definir o estilo do conteúdo do menu suspenso (por padrão, oculto) */ .dropdown-content { display: none; position: absolute; cor-de-fundo: #f9f9f9; largura-minima: 160px; sombra: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; } /* Definir o estilo dos links dentro do menu suspenso */ .dropdown-content a { float: none; cor: preto; preenchimento: 12px 16px; decoraçao-texto: none; display: block; text-align: left; } /* Ao passar o mouse, adicionar fundo escuro aos links da barra de navegação superior e aos botões do menu suspenso */ .topnav a:hover, .dropdown:hover .dropbtn { cor-de-fundo: #555; cor: branco; } /* Ao passar o mouse, adicionar fundo cinza aos links do menu suspenso */ .dropdown-content a:hover { cor-de-fundo: #ddd; cor: preto; } /* Quando o usuário passar o mouse sobre o botão do menu suspenso, mostrar o menu suspenso */ .dropdown:hover .dropdown-content { display: block; } /* Quando a largura da tela for menor que 600 pixels, ocultar todos os links exceto o primeiro ("Home") e mostrar o link para abrir e fechar a barra de navegação superior (.icon) */ @media screen and (max-width: 600px) { .topnav a:not(:first-child), .dropdown .dropbtn { display: none; } .topnav a.icon { float: right; display: block; } } /* Quando o usuário clicar no ícone, o JavaScript adicionará a classe "responsive" à barra de navegação superior. Esta classe faz com que a barra de navegação superior fique melhor no pequeno painel de exibição (exibe links verticalmente em vez de horizontalmente) */ @media screen and (max-width: 600px) { .topnav.responsive {position: relative;} .topnav.responsive a.icon { position: absolute; right: 0; top: 0; } .topnav.responsive a { float: none; display: block; text-align: left; } .topnav.responsive .dropdown {float: none;} .topnav.responsive .dropdown-content {position: relative;} .topnav.responsive .dropdown .dropbtn { display: block; width: 100%; text-align: left; } }
Terceiro passo - Adicionar JavaScript:
/* Alterne entre adicionar e remover a classe "responsive" na barra de navegação superior ao clicar no ícone */ function myFunction() { var x = document.getElementById("myTopnav"); if (x.className === "topnav") { x.className += " responsive"; } else { x.className = "topnav"; } }
Páginas relacionadas
Tutorial:Menu suspenso CSS
Tutorial:Como criar um menu suspenso clicável
Tutorial:Barra de navegação CSS
- Página anterior Menu suspenso na barra de navegação lateral
- Próxima página Menu de navegação lateral