Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou tentando criar um menu responsivo - a princípio sem dropdown - e ele funciona bem, até a parte principal (pasmem haha), que é quando eu aperto na imagem - no caso um checkbox - e o menu não aparece. Acredito que o erro esteja na seguinte linha: input#btn-menu:checked - nav.menu {
margin:0. }position:absolute. background:#4e94ab. width:70%. } HTML -<html lang="pt-br">
<head>
<title>MENU</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum scale=1, minimum scale=1">
<link rel="stylesheet" href="menu.css">
</head>
<body>
<header>
<input type="checkbox" id="btn-menu">
<label for="btn-menu"><img src="_imagens/icone-menu.png" width="35" height="35" alt=""></label>
<nav class="menu">
<ul>
<li><a href="">Inicio</a></li>
<li><a href="">Inicio</a></li>
<li><a href="">Inicio</a></li>
<li><a href="">Inicio</a></li>
<li><a href="">Inicio</a></li>
</ul>
</nav>
</header>
</body>
</html> CSS: -margin:0. font-family: sans-serif. }width:100%. background:#4e94ab. }display:none. }display:none. width:30px. height:30px. padding:10px. border-right:1px solid #fff. }cursor:pointer. background:rgba(0,0,0,0.3). }margin:0. list-style-type:none. padding:0. display:flex. }border-right:1px solid #fff. }background: rgba(0,0,0,0.3). }display:block. padding:15px 20px. color:#fff. text-decoration:none. }display:block. }position:absolute. background:#4e94ab. width:70%. }flex-direction:column. }border-top:1px solid #FFF. }margin:0. }
} Obs.: Como eu faço para adicionar um dropdown nesse menu? Conto com vocês!
Olá Thiago,
Entendi a sua lógica de fazer o checked do CSS disparar o display block no menu, nunca tinha visto algo assim acredito que funcione sim, porém o começo de sua media querie não esta correta o certo é @media screen and (max-width: 768px) ou @media (max-width: 768px) e na parte onde você percebeu o erro o (-) hifen não faz parte das CSS por isso ele não retornou nada.
Modifiquei o seu código um pouco e adicionei um pouco de javascript para funcionar deixarei aqui para seus estudos, qualquer dúvidas quando a solução é só perguntar.
<!DOCTYPE html>
header {
header label {
header label:hover {
nav.menu ul {
nav.menu li {
nav.menu li:hover {
nav.menu li a {
@media (max-width:768px) {
header label {
nav.menu {
nav.menu ul {
nav.menu li {
.menu.db {display: block;}
}