Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Menu Aberto Não Funciona

Já tentei de tudo quanto foi jeito e não consegui.

O menu não muda de cor e não muda a imagem, alguém tem alguma sugestão?

<div class="container__cabecalho">
            <input type="checkbox" id="menu" class="cabecalho__botao">
            <label for="menu" class="container__rotulo">
                <span class="cabecalho__menu--hamburguer cabecalho__imagem"></span>
            </label>
            <ul class="cabecalho__menu--lista">
                <li class="cabecalho__menu--titulo">Categorias</li>
                <li class="cabecalho__menu--item">
                    <a href="#" class="cabecalho__menu--link">Programação</a>
                </li>
                <li class="cabecalho__menu--item">
                    <a href="#" class="cabecalho__menu--link">Front-End</a>
                </li>
                <li class="cabecalho__menu--item">
                    <a href="#" class="cabecalho__menu--link">Infraestrutura</a>
                </li>
                <li class="cabecalho__menu--item">
                    <a href="#" class="cabecalho__menu--link">Business</a>
                </li>
                <li class="cabecalho__menu--item">
                    <a href="#" class="cabecalho__menu--link">Design & UX</a>
                </li>
            </ul>
            <img src="/assets/Logo.svg" alt="Logo Alura Books" class="cabecalho__imagem">
            <h1 class="container__titulo"><b class="container__titulo--negrito">Alura</b>Books</h1>
        </div>
.cabecalho {
    display: flex;
    justify-content: space-between;
    background-color: var(--primary-color);
    align-items: center;
    position: relative;
}

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

.cabecalho__menu--hamburguer {
    height: 24px;
    width: 24px;
    background-image: url(../assets/Menu.svg);
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
}

.container__botao:checked~.container__rotulo>.cabecalho__menu--hamburguer {
    background-image: url(../assets/MenuAlt.svg);
}

.container__botao:checked~.container__rotulo {
    background: var(--gradient-color);
}

.cabecalho__imagem {
    padding: 1em;
}

.cabecalho__menu--lista {
    width: 60vw;
    display: none;
    position: absolute;
    top: 100%;
}

.cabecalho__botao:checked~.cabecalho__menu--lista {
    display: block;
}

.cabecalho__menu--titulo, .cabecalho__menu--item {
    padding: 1em;
    background-color: var(--primary-color);
}

.cabecalho__menu--titulo {
    color: var(--secondary-color);
    font-weight: 700;
}

.cabecalho__menu--link {
    background: var(--gradient-color);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-transform: uppercase;
    text-decoration: none;
}

.cabecalho__botao {
    display: none;
}

.container__titulo {
    display: none;
}

.opcoes {
    display: none;
}

.container__texto {
    display: none;
}

Estou subindo no GitHub, acho que fica mais fácil, se alguém puder ajudar.

Muito obrigado,

Renan

2 respostas

Olá, Renan! Como vai?

Uma possível solução para o seu problema seria remover o sinal de maior (>) do seu seletor, assim o CSS irá procurar por qualquer descendente do .container__rotulo que tenha a classe .cabecalho__menu--hamburguer, não apenas os filhos diretos. Seu seletor ficaria assim:

.container__botao:checked ~ .container__rotulo .cabecalho__menu--hamburguer {
    background-image: url(../assets/MenuAlt.svg);
}

Tente isto, por favor. Seu código difere um pouco do que tenho, o que dificulta realizar os teste, mas caso o erro persista. Aguardo o link do GitHub para que eu possa fornecer uma resposta mais precisa.

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!
solução!

Achei o problema, o nome dá classe estava errado.

O problema agora é que as imagens dos placeholders não aparecem no GitPages.

Tem algum problema com a sintaxe dos links no GitHub e eu não estou conseguindo encontrar uma forma de resolver.

Aqui está o repositório do projeto, se quiser conferir fique a vontade:

https://github.com/renanfochetto/AluraBooks_Exercicio/tree/main

Muito obrigado, lhe agradeço pela resposta.

Até,

Renan Fochetto