1
resposta

Menu desaparece quando uso display:none

Ao adicionar a tag no arquivo: header.css o menu para de funcionar:

.container__botao{ display: none; }

Abaixo segue os códigos, das paginas na ordem: Index.html, style.css e header.css:

**INDEX**:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="reset.css">
    <link rel="stylesheet" href="style.css">
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Poppins:wght@300;400;500;700&display=swap" rel="stylesheet">
    <title>AluraBooks</title>
</head>
<body>
    <header class="cabecalho">
    <div class="container">
    <input type="checkbox" id="menu" class="container__botao">
    <label for menu>
       <span class="cabecalho__menu-hamburger cabecalho__imagem"></span>
    </label>
    <ul class="lista-menu">
        <li class="lista-menu__Titulo">Categorias</li>
        <li class="lista-menu__item"><a href="#" class="lista-menu__link">PROGRAMAÇÃO</a></li>
        <li class="lista-menu__item"><a href="#" class="lista-menu__link">FRONT-END</a></li>
        <li class="lista-menu__item"><a href="#" class="lista-menu__link">INFRAESTRUTURA</a></li>
        <li class="lista-menu__item"><a href="#" class="lista-menu__link">BUSINESS</a></li>
        <li class="lista-menu__item"><a href="#" class="lista-menu__link">DESING & UX</a></li>

    </ul>   
        <img src="imagem/Logo.svg" class="cabecalho__imagem" alt="Logo AluraBooks">
    </div>

    <div class="container">
        <a href="#"> <img src="imagem/Favoritos.svg" class="cabecalho__imagem" alt="Meus Favoritos"></a>
        <a href="#"><img src="imagem/Compras.svg" class="cabecalho__imagem" alt="Carrinho de Compras"></a>
        <a href="#"><img src="imagem/Usuario.svg" class="cabecalho__imagem" alt="Meu Perfil"></a>
    </div>


    </header>
    
</body>
</html>

STYLE

@import url("style/header.css");
:root {
    --cor-de-fundo: #EBECEE;
    --cor-branco: #FFFFFF;
    --cor-laranja:#EB9B00;
    --cor-azul-degrade: linear-gradient(97.54deg, #002F52 35.49%, #326589 165.37%);
    --fonte-principal: "Poppins";
    
}
body { 
    background-color: var(--cor-de-fundo);
    font-family: var(--fonte-principal);
    font-size: 16px;
    font-weight: 400;
}

.cabecalho__menu-hamburger{
    width: 24px;
    height: 24px;
    background-image: url("../imagem/Menu.svg");
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
}
.cabecalho{
    background-color: var(--cor-branco);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.container{
    display: flex;
    align-items: center;
}

.cabecalho__imagem{
   padding: 1em;
}
.lista-menu{
    display: none;
    position: absolute;
    top: 100%;
    width: 60vw;
}

.container__botao:checked~.lista-menu{
    display: block;
    

}
.lista-menu__Titulo,.lista-menu__item{
    padding: 1em;
    background-color: var(--cor-branco);
}
.lista-menu__Titulo{
    color: var(--cor-laranja);
    font-weight: 700;
    
}

.lista-menu__item{
    color: var(--cor-azul-degrade);
    
}
.lista-menu__link{
    text-decoration: none;
}

.container__botao{
    display: none;
}

HEADER:

.cabecalho__menu-hamburger{
    width: 24px;
    height: 24px;
    background-image: url("../imagem/Menu.svg");
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
}
.cabecalho{
    background-color: var(--cor-branco);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.container{
    display: flex;
    align-items: center;
}

.cabecalho__imagem{
   padding: 1em;
}
.lista-menu{
    display: none;
    position: absolute;
    top: 100%;
    width: 60vw;
}

.container__botao:checked~.lista-menu{
    display: block;
    

}
.lista-menu__Titulo,.lista-menu__item{
    padding: 1em;
    background-color: var(--cor-branco);
}
.lista-menu__Titulo{
    color: var(--cor-laranja);
    font-weight: 700;
    
}

.lista-menu__item{
    color: var(--cor-azul-degrade);
    
}
.lista-menu__link{
    text-decoration: none;
}

.container__botao{
    display: none;
}

O menu simplesmente desaparece

1 resposta

Oi Antonio, tudo ok contigo?

Nesse caso o erro foi no HTML, o input deve sumir mesmo, mas o problema foi aqui: <label for menu> aqui você deveria ter atribuido isso para o input que sumiu, dessa forma quando isso fosse clicado, o input receberia o :checked e a lista apareceria. Mas você escreveu isso errado, o certo é assim: <label for="menu">. Com isso o problema deve ser resolvido.

Se não resolver, avise para que eu tente ajudar de outra forma.

Era isso. Espero ter ajudado.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor marque ele como solução! ✓

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software