1
resposta

Não entendi o porquê essa classe apareceu na direita do site

Alguém me explica o porque dessa classe, nomeada de "caixa'" apareceu do do lado direito da página, e não no esquerdo, já que todo ponto inicial é na esquerda da página? Imagem da margem ocupada da div caixa CSS:

header {
    background: #BBBBBB;
}

.caixa {
    position: relative;
    width: 940px;
}

nav {
    position: absolute;
    top: 110px;
    right: 0;
}

nav li {
    display: inline;
    margin: 0 0 0 15px;
}

nav a {
    text-transform: uppercase;
    color: #000000;
    font-weight: bold;
    font-size: 22px;
    text-decoration: none;

}

HTML:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Produtos - Barbearia Alura</title>
        <link rel="stylesheet" href="reset.css">
        <link rel="stylesheet" href="produtos.css">
    </head>
    <body>
        <header>
            <div class="caixa">
                <h1><img src="logo.png"></h1>

                <nav>
                    <ul class="navegacao">
                    <li><a href="index02.html">Home</a></li>
                    <li><a href="produtos.html">Produtos</a></li>
                    <li><a href="contato.html">Contatos</a></li>
                </ul>
                </nav>
            </div>
        </header>
    </body>
</html>
1 resposta

Oi Guilherme, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

No seu código CSS, você definiu a classe .caixa com uma largura fixa de 940 pixels e com a propriedade position: relative;. Isso significa que a largura da .caixa será de 940 pixels, mas o posicionamento dela continuará seguindo o fluxo normal do HTML, ou seja, a .caixa ainda será exibida no fluxo de elementos da página, alinhada à esquerda.

No entanto, o que está fazendo com que a .caixa pareça estar à direita é a sua classe nav que está dentro dela. A classe nav tem a propriedade position: absolute; com right: 0;. Isso faz com que a nav seja posicionada absolutamente em relação à .caixa e alinhada à direita. Portanto, a nav está saindo da .caixa e se posicionando no canto superior direito da .caixa, que é o que você está vendo.

Para resolver esse problema e fazer com que a nav fique alinhada à esquerda dentro da .caixa, você pode ajustar o posicionamento da seguinte maneira:

.caixa {
    position: relative;
    width: 940px;
}

nav {
    position: relative;
    /* Remova a propriedade 'right: 0;' */
    top: 110px;
}

Lembrando que as propriedades position: relative; e position: absolute; afetam a maneira como os elementos são posicionados em relação a outros elementos.

Espero ter conseguido ajudar, qualquer dúvida fico à disposição.

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