1
resposta

Minha lista não desaparece

Escrevi aqui meu código e mesmo com o display=none, minha lista não desaparece e nem vai para baixo. Ps: fiz algumas alterações pelo que a professora tinha feita mas não acredito que esse seja o motivo do meu problema atual. Desde já meu sincero agradecimento a quem conseguir me ajudar!

html

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>AluraBooks</title>
    <link rel="stylesheet" href="style.css">
    <link rel="stylesheet" href="reset.css">
    <link rel="stylesheet" href="header/header.css">
</head>
    <header class="cabeçalho">
        <div class="container1">
            <input type="checkbox" id="menu" class="container__botao">
            <label for="menu"><span class="cabeçalho__menu"></span></label>
            <ul class="lista__menu>">
                <li class="lista__menu__titulo">Categoria</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">Design & UX</a></li>
            </ul>
            <img src="img/Logo.svg" class="container__imagem1">
        </div>
        <div class="container2">
            <a href="#"><img src="img/Favoritos.svg" class="container__imagem"></a>
            <a href="#"><img src="img/Compras.svg" class="container__imagem"></a>
            <a href="#"><img src="img/Usuário.svg" class="container__imagem"></a>
        </div>
    </header>
<body> 
</body>
</html>

css

.cabeçalho__menu{
    width: 24px;
    height: 24px;
    background-image: url(../img/Menu.svg);
    background-repeat: none;
    background-position: center;
    display: inline-block;
}
.cabeçalho{
    background-color: var(---branco);
    display:flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.cabeçalho__menu{
   margin-left: 0.25em;
   padding-left:0.25em;
}
.container__imagem1{
    padding-left: 1em;
}
.container1{
    display: flex;
    align-items: center;
    padding: 1em;
}
.container2{
    display: flex;
    align-items: center;
    padding: 1em;
}
.lista__menu{
    display: none;
    position: absolute;
    top: 100%;
}
.container__botao:checked ~ .lista__menu{
    display: block;
}
1 resposta

Olá!

Parece que há um pequeno erro no seu código HTML que está impedindo a lista de desaparecer. Na linha onde você define a classe da lista (< ul class=" lista__menu > ">), há um caractere > extra. Isso está fazendo com que o navegador não reconheça a classe corretamente, e por isso as regras CSS para .lista__menu não estão sendo aplicadas.

Aqui está o código corrigido:

Digite igualmente

E no seu CSS, parece que há um erro de digitação na definição da cor de fundo do cabeçalho. Você usou ---branco, mas deveria ser --branco se você definiu uma variável CSS com esse nome. Aqui está a correção:

.cabeçalho{
    background-color: var(--branco);
    display:flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

Espero que isso resolva o problema! Se você tiver mais perguntas, fique à vontade para perguntar.