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

Inserindo header/footer na página web original (index.html)

Bom dia, gente. Tudo certo com vocês?

Fui seguir o desafio proposto ao final do segundo curso, mas estou batendo a cabeça com algo tem dois dias.

Inseri o rodapé(footer) na página inicial sem problema nenhum. O código tá organizado e bonito.

O grande problema está sendo com o cabeçalho (header). Cheguei a deixar o problema parado por uma noite para olhá-lo quando estivesse com a cabeça mais fria, mas ainda não matei o problema. Inseri o código do cabeçalho no index.html e no style.css e fiz os ajustes necessários para que tudo funcionasse. Agora vem o "mas", não tem santo que faça os links de Home/Produtos/Contatos ficarem na horizontal. O css tá com o display inline, mas tem alguma coisa (provavelmente muito simples) que não está certo. Quero matar este problema para seguir com o resto da formatação do texto que não tá legal. Mas um problema de cada vez.

Alguém aí pode me dar uma luz neste caso?

Segue abaixo o index.html e depois o style.css.

<!DOCTYPE html>

<html lang="pt-br">
    <head>
        <meta charset="UTF-8">
        <title>Barbearia Alura</title>
        <link rel="stylesheet" href="reset.css">
        <link rel="stylesheet" href="style.css">
    </head>

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

        <main>
            <img id="banner" src="banner.jpg" >

            <div class="principal">
                <h2 class="titulo-centralizado">Sobre a Barbearia Alura</h2>

                <p>Localizada no coração da cidade a <strong>Barbearia Alura</strong> traz para o mercado o que há de melhor para o seu cabelo e barba. Fundada em 2019, a Barbearia Alura já é destaque na cidade e conquista novos clientes a cada dia.</p>

                <p id="missao"><em>Nossa missão é: <strong>"Proporcionar auto-estima e qualidade de vida aos clientes"</strong>.</em></p>

                <p>Oferecemos profissionais experientes e antenados às mudanças no mundo da moda. O atendimento possui padrão de excelência e agilidade, garantindo qualidade e satisfação dos nossos clientes.</p>
            </div>

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

                <ul>
                    <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>
        </main>

        <footer>
            <img src="logo-branco.png">
            <p class="copyright">© Copyright Barbearia Alura - 2019</p>
        </footer>

    </body>

</html>

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;
}

#banner{
    width: 100%;
}

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

.titulo-centralizado{
    text-align: center;
    /*font-size: 20px;*/

}

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;
}

Obrigado!

2 respostas
solução!

Bom Dia Márcio! Tudo bem por aqui e com você? Primeiramente, parabéns por ter terminado a parte 2 do curso de HTML5 e CSS3!

Uma possível solução é especificar qual ul você quer que tenha o comportamento customizado, de uma maneira semelhante a como você especificou qual il deve ser customizada. Tente resolver desta maneira e se conseguir posta a solução aqui!

Agora a explicação do problema que você está enfrentando é bem curiosa!

O problema está nas propriedades da tag ul. Esta tag é utilizada em 2 lugares no seu código, primeiro no headere depois na div de benefícios. Quando você definiu as propriedades de display, vertical-align, width e margin-right para ul ela será aplicada nos dois lugares. Você pode verificar que isso é verdade ao abrir as ferramentas de desenvolvedor com a tecla F12, na aba de "elementos" e navegar até a ul dentro do header e você verá as mesmas propriedades que definiu para a ul de benefícios.

Agora que você entendeu isso, ainda não deve estar claro o porquê dos itens estarem um em cima do outro.

Para entender isso, vou usar uma analogia: quando você está escrevendo, as palavras vão aparecendo na linha normalmente e quando a linha acaba outra se inicia. O que acontece se você diminui a largura da linha? A quantidade de palavras continua a mesma, porém elas são rearranjadas em novas linhas, correto?

Substituindo "palavras" por li e "linha" por ul, se você diminui o tamanho da ul, as li continuam sendo escritas em sequência, mas caso não haja espaço, elas serão jogadas para baixo! Ou seja, as suas li estão sendo sim apresentadas em linha, mas o tamanho da ul não permite isso e cria novas linhas para caber o conteúdo, fazendo parecer que estão uma em cima da outra.

Santo Eduardo!

Muito obrigado pela dica. Para manter a parte do cabeçalho padrão para todas as páginas, peguei as propriedades da tag ul e as coloquei na classe itens que eu já tinha criado. Agora o cabeçalho ficou perfeito em todas as páginas!

Hora de partir para resolver os outros problemas.

Mais uma vez, muito obrigado!