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

Diferenças no Header entre as páginas

Minhas headers estão com tamanhos diferentes quando entro em cada página....o que está diferente??

<header>
            <div class="caixa">
                <h1><img src="logo.png"></h1>

                    <ul class="navegacao">

                        <nav>
                            <li><a href="index.html">Home</a></li>
                            <li><a href="produtos.html">Produtos</a></li>
                            <li><a href="contato.html">Contato</a></li>
                        </nav>
                    </ul>
            </div>

        </header>
<header>
            <div class="caixa">
                <h1><img src="logo.png"></h1>

                    <ul class="navegacao">

                        <nav>
                            <li><a href="index.html">Home</a></li>
                            <li><a href="produtos.html">Produtos</a></li>
                            <li><a href="contato.html">Contato</a></li>
                        </nav>
                    </ul>
            </div>
        </header>
7 respostas

Olá Felipe, tudo bem?

Você poderia colocar o código CSS de ambas as páginas para que eu possa comparar e visualizar melhor o que pode estar ocorrendo e tentar te ajudar?

Fico no aguardo, abraços!

O style.css:

header {
    background: #BBBBBB;
    padding:  20px 0;
}

.caixa {
    position: relative;
    width:  940px;
    margin:  0 auto;
}
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;
}

nav a:hover {
    color:  #C78C19;
    text-decoration: underline;
}

body {
}

.principal{
    background: #CCCCCC;
    padding: 30px;
}

#banner {
    width: 100%;
}

.titulo-centralizado {
    text-align: center
}

p {
    text-align: center;
}

#missao {
    font-size: 20px
}

em strong {
    color: #FF0000;
}
.itens {
    font-style: italic
}

.beneficios {
    background: #FFFFFF;
    padding: 20px;
}

ul {
    display: inline-block;
    vertical-align: top;
    width: 20%;
    margin-right: 15%;
}

.imagembeneficios {
    width: 50%;
}

footer {
    text-align: center;
    background: url("bg.jpg");
    padding: 40px 0;
}

.copyright {
    color: #FFFFFF;
    font-size: 13px;
    margin: 20px 0 0;
}

O product.css:

header {
    background: #BBBBBB;
    padding:  20px 0;
}

.caixa {
    position: relative;
    width:  940px;
    margin:  0 auto;
}
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;
}

nav a:hover {
    color:  #C78C19;
    text-decoration: underline;
}

.produtos {
    width: 940px;
    margin: 0 auto;
    padding: 50px 0;
}

.produtos li {
    display: inline-block;
    text-align: center;
    width: 30%;
    vertical-align: top;
    margin: 0 1.5%;
    padding: 30px 20px;
    box-sizing: border-box;
    border-color: #000000;
    border-width: 2px;
    border-style: solid;
    border-radius: 10px;
}

.produtos li:hover {
    border-color: #C78C19;
    font-size: 40px;
}

.produtos li:active {
    border-color: #088C19;
}

.produtos li:hover h2 {
    font-size: 34px;
}

.produtos h2 {
    font-size: 30px;
    font-weight: bold;
}

.produto-descricao {
    font-size: 18px;
}

.produto-preco {
    font-size: 22px;
    font-weight: bold;
    margin-top: 10px;
}

footer {
    text-align: center;
    background: url("bg.jpg");
    padding: 40px 0;
}

.copyright {
    color: #FFFFFF;
    font-size: 13px;
    margin: 20px 0 0;
}

Muito obrigado pela ajuda!

Olá! Alguém pode me ajudar?

solução!

Olá Felipe, tudo bem?

Desculpas pela demora em dar o retorno.

Temos dois pontos a serem discutidos, onde um deles é o que de fato está fazendo com que tenha essas divergências no <header>. Vamos lá!

Parte 1


O primeiro ponto não está relacionado diretamente a diferença de tamanho, mas é algo que precisamos estarmos atentos. No HTML do index e da página de produtos, o <nav> está sendo aplicado como filho de <ul>, quando na verdade a sintaxe correta é o <ul> sendo filho de <nav>, visto que o único filho direto do <ul> são os <li>.

Modificando em ambas as páginas, o <header> ficará assim:

    <header>
        <div class="caixa">
            <h1><img src="logo.png" alt=""></h1>
            <nav>
                <ul>
                    <li><a href="index.html">Home</a></li>
                    <li><a href="produtos.html">Produtos</a></li>
                    <li><a href="contato.html">Contato</a></li>
                </ul>
            </nav>  
        </div>  
    </header>

Parte 2


Além disso, temos um conflito que está causando essa diferença de tamanhos. Isto ocorre, pois no arquivo index.html temos duas listas não ordenadas (ul), uma referente ao menu de navegação e a outra aos itens que compõem a seção de benefícios da página.

Dessa forma, quando aplicamos no style.css as seguintes propriedades:

ul {
    display: inline-block;
    vertical-align: top;
    width: 20%;
    margin-right: 15%;
}

Elas não estão sendo aplicadas apenas ao <ul> dos benefícios como deveria, mas também ao <ul> do menu de navegação, causando conflitos com as propriedades que também estão sendo aplicadas simultaneamente a lista não ordenada por meio no <nav>. Como na página de produtos não existem essas propriedades sendo aplicadas, o resultado visual é diferente.

Um poucos mais para frente nos cursos, o instrutor resolve essa divergência criando uma classe para essa <ul> que representa uma lista de benefícios, dessa forma as propriedades serão aplicadas somente a ela e não a todos os ul's de forma generalizada. A seguir colocarei os códigos com as modificações finais.

No index.html ficará assim:

        <div class="beneficios">
            <h3 class="titulo-centralizado">Benefícios</h3>

            <ul class="lista-beneficios"> <!--classe que foi criada-->
                <li class="itens">Atendimento aos Clientes</li>
                <li class="itens">Espaço diferenciado</li>
                <li class="itens">Localização</li>
                <li class="itens">Profissionais Qualificados</li>
            </ul>

            <img src="beneficios.jpg" class="imagembeneficios">
        </div>

No style.css ficará assim:

.lista-beneficios {
    display: inline-block;
    vertical-align: top;
    width: 20%;
    margin-right: 15%;
}

Peço desculpas novamente pela demora em dar o retorno.

Espero ter ajudado, em caso de dúvidas fique a vontade para perguntar. Bons estudos!

Poxa, realmente!! Foi muito clara sua explicação!! Agradeço demais!!