Olá!
Estou tentando deixar o comportamento do menu hambúrguer igual demonstrado no figma, quando o menu está aberto a cor do background muda para o azul degradê e a cor do ícone do menu muda para branco. A imagem abaixo demonstra o resultado final desejado.
Entretanto, estou com dificuldade de fazer a mudança da imagem com o :checked, o background está ok. Consegui sobrepor as imagens mudando position para relative e absolute e estou tentando fazer a mudança de acordo com o z-index, mas parece que o z-index não muda com o :checked. A imagem abaixo é o que consegui obter.
Como posso fazer a mudança da imagem com :checked? Ou há alguma outra forma mais fácil de solucionar o problema?
Segue o código abaixo:
<!DOCTYPE html>
<html lang="pt-br">
<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" />
<title>AluraBooks</title>
<link rel="stylesheet" href="./reset.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=Poppins:wght@300;400;500;700&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="./styles.css" />
</head>
<body>
<header class="header">
<div class="container">
<input type="checkbox" id="menu" class="container__button" />
<label for="menu" class="container__label">
<span
class="header__menu-hamburguer container__image blue-menu"
></span>
<span
class="header__menu-hamburguer container__image white-menu"
></span>
</label>
<ul class="list-menu">
<li class="list-menu__title">Categorias</li>
<li class="list-menu__item">
<a href="#" class="list-menu__link">Programação</a>
</li>
<li class="list-menu__item">
<a href="#" class="list-menu__link">Front-end</a>
</li>
<li class="list-menu__item">
<a href="#" class="list-menu__link">Infraestrutura</a>
</li>
<li class="list-menu__item">
<a href="#" class="list-menu__link">Business</a>
</li>
<li class="list-menu__item">
<a href="#" class="list-menu__link">Design & UX</a>
</li>
</ul>
<img
src="./img/logo.svg"
alt="Logo da AluraBooks"
class="container__image"
/>
</div>
<div class="container">
<a href="#"
><img
src="./img/heart.svg"
alt="Meus favoritos"
class="container__image"
/></a>
<a href="#"
><img
src="./img/bag.svg"
alt="Carrinho de compras"
class="container__image"
/></a>
<a href="#"
><img
src="./img/profile.svg"
alt="Meu perfil"
class="container__image"
/></a>
</div>
</header>
.header__menu-hamburguer {
width: 24px;
height: 24px;
background-position: center;
background-repeat: no-repeat;
display: inline-block;
position: relative;
left: 0;
}
.blue-menu {
background-image: url(../img/menu-blue.svg);
}
.white-menu {
background-image: url(../img/menu-white.svg);
z-index: -1;
position: absolute;
}
.header {
background-color: var(--white);
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
}
.container {
display: flex;
align-items: center;
position: relative;
}
.container__image {
padding: 1em;
}
.container__label {
position: relative;
}
.list-menu {
display: none;
position: absolute;
top: 100%;
width: 60vw;
}
.container__button:checked ~ .list-menu {
display: block;
}
.container__button:checked ~ .container__label {
background: var(--blue-gradient);
}
.container__button:checked ~ .blue-menu {
z-index: -2;
}
.list-menu__title,
.list-menu__item {
padding: 1em;
background-color: var(--white);
}
.list-menu__title {
color: var(--orange);
font-weight: 700;
}
.list-menu__link {
background: var(--blue-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-transform: uppercase;
}
.container__button {
display: none;
}