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

[Dúvida] Alinhamento dos ícones à direita

Olá, tudo bem?

Os ícones de "Favoritos", "Carrinho de compras" e "Usuário", não ficam deslocados para a direita do menu (seguindo padrão do design do Figma e também da instrutora). Os meus ícones ficam todos centralizados no menu.

Já comparei os códigos com o da instrutora e não encontrei a falha. Alguém tem alguma luz?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

CSS

.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;
    position: relative;
}

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

.container__imagem {
 padding: 1em;
}

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

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

.lista-menu__titulo,
.lista-menu__item {
    padding: 1em;
    background-color: var(--branco);
}

.lista-menu__titulo {
   color: var(--laranja);
   font-weight: 700;
}

.lista-menu__link {
    background: var(--azul-degrade);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-transform: uppercase;
}

.container__botao {
    display: none;
}

HTML

<!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">
    <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="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 & UX</a>
                </li>
            </ul>
            <img src="img/Logo.svg" alt="Logo da Alurabooks" 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="Carrinhos de compras" class="container__imagem"></a>
            <a href="#"><img src="img/Usuario.svg" alt="Meu perfil" class="container__imagem"></a>
        </div>
    </header>
2 respostas

olá, aparentemente seu código está correto. Tente inspecionar elementos no navegador para entender melhor. Eu testei seu código no meu PC e os elementos se alinharam como deveriam. Segue abaixo o print.

o elemento responsável pelo alinhamento que você busca é o** "cabecalho"** que é um container flex. Dentro dele só há 2 childs que são as 2 divs "container". Dessa forma, quando você colocou o display = flex e o justify-content = space-between estes childs já deveriam se posicionar cada um em um extremo da tela.

o que poderia causar uma aparente junção deles seria o caso de os elementos dos container (as logos de cada item) fossem de um tamanho que fizessem os 2 container ocuparem todo o header, mas não consegui identificar essa situação no seu código.

Verifica se ao inspecionar aparece esse quadrado roxo da forma como fiz abaixo, clicando no quadrado com uma seta do lado direito e clicando em cima do navbar. Esse quadrado roxo é justamente o espaço sobrando que o space -between colocou entre as 2 divs.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Olá Noberto,

muito obrigada pelo help, você me deu uma luz e consegui resolver.

Fiz o teste com o inspect element e reparei que o meu estava diferente.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Como estava desde ontem quebrando a cabeça, já pensei: "quando é assim, deve ser algo muito bobo...rsrsrs".

Veja só, no início do curso tem um link disponibilizando uma pasta com as imagens e eu baixei essa pasta para utilizar no desenvolvimento do projeto. Como vi que as imagens do cabeçalho já estavam disponibilizadas na pasta, acabei não baixando novamente pelo Figma. Maaas, como vi que tinha essa diferença nos espaçamentos, resolvi baixar as imagens pelo Figma e atualizar na pasta. BINGO!, o cabeçalho se ajustou.

Provavelmente foi a diferença entre as imagens que já vieram disponibilizadas na pasta, e as imagens baixadas diretamente pelo Figma.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Muito obrigada!