8
respostas

Sobreposição de lista e imagem

Bom dia! Estou com problemas no cabeçalho do meu site. Quando eu diminuo manualmente o tamanho da página, os ítens da minha lista, que usei para fazer a navegação no site, ficam sobrepostos ao ícone do site.

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

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

HTML:

<header class="cabeçalho">
            <div>
                <h1><img class="logo" src="imagens/logo.png" alt="Logo Isabella Mendes de Sousa"></h1>

                <nav>
                    <ul>
                        <li><a href = "home.html">Home</a></li>
                        <li><a href = "sobre.html">Sobre</a></li>
                        <li><a href = "cursos.html">Cursos</a></li>
                        <li><a href = "contato.html">Contato</a></li>
                    </ul>
                </nav>
            </div>
        </header>

CSS:

.cabeçalho {
    background: #F08080;
    padding: 50px 0;
    width: 100%;
    margin: 0 auto;
}

body {
    font-family: 'Montserrat', sans-serif;
}

nav {
    margin: 10px;
    position: absolute;
    top: 55px;
    right: 10px;
}


nav li {
    display: inline;
    font-size: 20px;
    padding: 50px;
}


nav a {
    text-transform: uppercase;
    text-decoration: none;
    color: black;
    transition: 0.4s;
}

nav a:hover {
    color: #FFDEAD;
    font-weight: bold;
    transform: scale(1.2);
}

.logo {

    width: 400px;
    display: inline-block;
    margin-left: 40px;
}
8 respostas

Bom dia Isabella,

Eu começaria verificando o tamanho da sua imagem da logo. Ela está com tamanho fixo em 400px. Você deve achar uma maneira que ela fique responsiva com o restante do layout.

Bom dia, Isabella! Creio que o problema possa estar no Width da sua Logo, onde você colocou ela em 400px. Quando usamos os valores em Pixels acabamos tornando aquele valor fixo, então independentemente do tamanho da tela a imagem sempre terá aqueles pixels que foram informados. A substituição do valor em px por um valor em %, por exemplo, já deverá resolver o problema e trazer a responsividade desejada.

Bom dia! Fiz o sugerido, mas não resolveu o problema... O logo passou a adaptar o tamanho conforme a página tem seu tamanho modificado, mas os ítens da lista do cabeçalho continuam indo para cima do logo. Tentei adicionar uma width em porcentagem na nav, assim os ítens respeitam o espaço do logo, mas ao dimuniur o tamanho da página os ítens ficam um sobre o outro.

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

Bom dia! Fiz o sugerido, mas não resolveu o problema... O logo passou a adaptar o tamanho conforme a página tem seu tamanho modificado, mas os ítens da lista do cabeçalho continuam indo para cima do logo. Tentei adicionar uma width em porcentagem na nav, assim os ítens respeitam o espaço do logo, mas ao dimuniur o tamanho da página os ítens ficam um sobre o outro.

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

no seu código

nav li {
    display: inline;
    font-size: 20px;
    padding: 50px;
}

tente colocar display: flex; e

verifique se funciona.

Marcelo, ao colocar o display: flex a nav perdeu o display inline e ficou em forma de coluna, mas dessa forma nao há sobreposições.

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

Como não tenho seu código por inteiro para testar, vou passar diretivas que eu começaria testando.

eu trabalharia a classe cabecalho

.cabeçalho {
    align-items: center;
    display: flex;
    justify-content: center;
    background: #F08080;
    padding: 50px 0;
    width: 100%;
    margin: 0 auto;
}

depois trataria o restante.. Outra coisa, ficaria interessante se vc colocar seu código no seu github assim podemos apoiar.

Vou tentar dar mais uma mexida aqui no código! Ele já está lá no gitHub: https://github.com/MSIsabella/site-pessoal

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software