1
resposta

top: 100; lista sumiu

Após inserir o top: 100% minha lista não aparece quando click no checkbox.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="reset.css">
    <link rel="stylesheet" href="style.css">
    <title>Alura Books</title>
</head>
<body>
    <header class="cabecalho">

        <div class="container">
            <input type="checkbox" id="menu" class="container__botao">
            <label for="menu">
                <span class="cabecalho__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">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 e UX</a>
                </li>
            </ul>
            <img src="img/Logo.svg" alt="Logo da Alura Book" class="container__imagem">
        </div>
        <div class="container">
            <a href="#"><img src="img/Favoritos.svg" alt="Meus favoritos" class="container__imagem"></a>
            <a href="#"><img src="img/Compras.svg" alt="Carrinho de compras" class="container__imagem"></a>
            <a href="#"><img src="img/Usuário.svg" alt="Meu perfil" class="container__imagem"></a>
        </div>

    </header>

</body>
</html>
CSS - header  
.cabecalho__menu-hamburguer{
    width: 24px;
    height: 24px;
    background-image: url("../img/Menu.svg");
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
}

.cabecalho{
    background-color: var(--branco);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.container{
    display: flex;
    justify-content: center;
}
.container__imagem{
    padding: 1em;
}

.lista-menu{
    display: block;
    position: absolute;
    top: 100%;
}

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

Você precisa colocar um position relative no .cabecalho para o .lista-menu ser posicionado em relação ao pai, se você não colocar o position relative o .cabecalho vai ser por padrão static e o .lista-menu não vai conseguir se posicionar em relação ao pai.