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

Elemento filho saindo do limite do elemento pai

Ao dar o espaçamento entre os elementos do header, estava testando utilizar o gap ao invés de uma margem em cada ícone, mas os elementos estão extrapolando o limite da tela Imagem com os ícones do header apresentando erro de espaçamento e extrapolando o limite da tela

Sendo que o que eu gostaria era de dar esse espaçamento entre eles e que eles se adaptassem com o espaço disponível no elemento pai (header), que está com o *justify-content: space-between * e não que extrapolassem a tela

Meu 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">
    <link rel="stylesheet" href="./style/style.css">

    <title>AluraBooks</title>
</head>
<body>
    <header class="cabecalho">

            <div class="container container__cabecalho">
                <span class="cabecalho__menu-hamburguer"></span>
                <img src="./assets/Logo.svg" alt=" Logo AluraBooks">
            </div>
            <div class="container">
                <a href="#"><img src="./assets/Favoritos.svg" alt="LogoFavoritos"></a>
                <a href="#"><img src="./assets/Compras.svg" alt="Carrinho de compras"></a>
                <a href="#"><img src="./assets/Usuario.svg" alt="Menu perfil"></a>

        </div>
    </header>
    <main></main>
    <footer></footer>
</body>
</html>

Meu header.css


.cabecalho__menu-hamburguer{
    width: 24px;
    height: 24px;
    background-image: url(../assets/Menu.svg);

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

}

.container { 
    display: flex;
    align-items: center;
    gap:10%;
}
4 respostas

Fala Bruno. Beleza? Tenta colocar um box-sizing:border-box; no cabecalho. Acredito que vá resolver.

Oi Rafael. Tudo bem ? Eu testei essa alternativa e não deu muito certo. Fui mexendo um pouco na ferramenta de desenvolvimento e eu acho que o problema é na class container. Os elementos estão transbordando ela mesmo utilizando o box-sizing ! Tendei adicionar o width auto também, mas não obtive sucesso

Elementos do menu superior ultrapassando os limites da class container

Opa, bruno. Tudo bem? pelo o que eu entendi voce quer que o container nao ocupe a tela toda, correto?

Nesse caso, basta apenas colocar um max-width para o container nao crescer 100% da tela

Se nao for isso, fala aqui que a gente arruma um jeito de te ajudar melhor.

solução!

Eae, Gabriel. Tudo sim e com você ? Na verdade, o que eu queria era que o container se adaptasse ao tamanho dos filhos. Mas acabei de descobrir o problema !

Eu tinha duas divs e estava utilizando a mesma class para ambas, o que eu acredito que deva ter gerado algum conflito

<header class="cabecalho">

            <div class="container__left ">
                <span class="cabecalho__menu-hamburguer"></span>
                <img class="container__img" src="./assets/Logo.svg" alt=" Logo AluraBooks">
            </div>
            <div class="container__right ">
                <a class="container__img" href="#"><img src="./assets/Favoritos.svg" alt="LogoFavoritos"></a>
                <a class="container__img" href="#"><img src="./assets/Compras.svg" alt="Carrinho de compras"></a>
                <a class="container__img" href="#"><img src="./assets/Usuario.svg" alt="Menu perfil"></a>
        </div>
    </header>