1
resposta

[Dúvida] minha lista não aparece depois do checked

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF.8">
        <meta name="viewport" content="width=device-width, initial-scale=1,0">
        <title>AluraBooks</title>
        <link rel="stylesheet" href="reset.css">
        <link rel="stylesheet" href="styles.css">

    </head>
    <body>
       <header class="cabeçalho">
        <div class="container">
        <input type="checkbox" id="menu" class="container__botao">
        <label for="menu">
        <span class="cabeçalho__menu-hamburguer container__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">Progamaçã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" alt="logo AluraBooks" class="container__imagem">
        </div>
        <div class="container">
        <a href="#"> <img src="img/Vector.svg" alt=" meus favoritos" class="container__imagem"></a> 
        <a href="#"> <img src="img/Sacola.svg" alt="minhas compras"class="container__imagem" > </a>
        <a href="#"> <img src="img/Usuario.svg" alt="meu perfil"class="container__imagem" ></a>
        </div>
       </header>
    </body>

</html>
.cabeçalho__menu-hamburguer{
    width: 24px;
    height: 24px;
    background-image:url("../img/Menu.svg");
    background-repeat: no-repeat;
    background-position:center;
    display: inline-block;
}
.cabeçalho{
    background-color: var(--branco);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.container{
    display: flex;
    align-items: center;
}
.container__imagem{
    padding: 1em;
}
.lista-menu{
    display: none;
}
.container__butao:checked~.lista-menu{
    display: block;
}
1 resposta

Oi, Raphael. Tudo bem?

Percebi um pequeno detalhe no seu CSS: no HTML você nomeia a classe do input como container__botao, mas no CSS, na linha 25, ela está escrita como .container__butao (com u no lugar do o).

Essa diferença impede que o estilo seja aplicado corretamente, já que o seletor não corresponde ao nome da classe.

Corrigindo o seletor, o seu projeto deve voltar a funcionar normalmente:

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

Espero ter ajudado.

Siga firme nos seus estudos e conte com o fórum sempre que precisar.

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado