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

Main iniciando sob o header

Estou criando um projeto com html e css para fixar os conhecimentos das aulas e aprender coisas novas. Estou com um problema. A imagem que estou usando de fundo no main está ficando sob o header, mas eu gostaria que ela começasse após o término do header(menu do site).

Vou colocar um trecho do código, acredito que já seja o suficiente para descobrir o que estou fazendo de errado.

Obs: Deve ter outros erros além disso, mas como falei, ainda estou aprendendo. Caso haja sugestões de melhoria, fiquem à vontade para apontá-las.

Obrigado.

    <body>
        <header>
            <div class="caixa">
                <nav>
                    <ul>
                        <li><a href="index.html">Home</a></li>
                        <li><a href="fii.html">Fundos Imobiliários</a></li>
                        <li><a href="carteira.html">Carteira de Ações</a></li>
                        <li><a href="fia.html">Fundos de Ações</a></li>

                    </ul>
                </nav>
            </div>
        </header>

        <main>
            <section class="principal-carteira">
                <div class="fundo-carteira"> 
                    <h1><img src="fundo-tng.png" width=100%></h1>
                </div>

[continua]

CSS:

.caixa {
    position: relative;
    width: 100%;
    margin: 0 auto;
}

header  {
    background: rgb(76, 128, 197);
    padding: 20px 0;
    font-family: 'Open Sans', sans-serif;
    position: fixed;
    text-align: center;
    width: 100%;
    z-index: 1;
}
2 respostas
solução!

Olá Vinicius, tudo bem?

Acredito que o problema se dá por esta linha:

 position: fixed;

Um elemento fixed não deixa uma lacuna na página onde normalmente estaria localizado. Basicamente você teria que dar um 'margin-top' no elemento que vem abaixo para o header não ficar sobreposto ao main.

Outra maneira de corrigir o problema seria troca o fixed por sticky, desta maneira:

 position: sticky;

Deu pra entender? Meio complicado mas espero que sim :)

Bons estudos!

Olá Diego,

Obrigado pela resposta.

De fato, utilizando o sticky, consigo exibir a imagem do fundo por completo, sem que o head fique sobre ela. Mas como desejo manter o menu fixado no topo para quando o usuário der scroll ele continue visível, não vou poder usar essa alternativa.

Quanto ao margin-top, ele acaba jogando tudo pra baixo, inclusive o head. Vou procurar outras alternativas, quem sabe até mudar um pouco do projeto.

Obrigado!