3
respostas

Rodapé não aparece

aceitei o desafio da parte 2 do curso de html, consegui colocar o cabeçalho e tals mas dps fui tentar colocar o rodapé e ele simplesmente não aparece na minha página index.html já tentei colocar o conteúdo principal dentro de uma

mas nada feito :(
<!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="contato.html">Contato</a></li>
                    </ul>
                </nav>
            </div>
        </header>

            <img id="banner" src="banner.jpg">
            <div class="principal">
                <h2 class="titulo-centralizado">Sobre a Barbearia Alura</h2>

                <p id="descricao">Localizada no coração da cidade a <spam id="barbariabold">Barbearia Alura</spam> 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">Nossa missão é: "<spam id="missao2">Proporcionar auto-estima e qualidade de vida aos clientes</spam>"</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>

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

o meu 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 ul {
    display: inline;
    margin: auto;
}

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-principal {
    padding-left: 20px;
}

.titulo-centralizado {
    text-align: center;
    font-weight: bold;
    font-size: 23px;
    margin: 0 0 20px 0;
}

#descricao{
    margin-bottom: 20px;
}

#barbariabold{
    font-weight: bold;
}

p {
    text-align: center;
}

#missao {
    font-size: 20px;
    font-style: italic;
    margin: 0 0 10px;
}

#missao2 {
    color: #ff0000;
    font-weight: bold;
}

.itens {
    font-style: italic;
    margin: 3px 0 0 3px;

}

.beneficios {
    position: absolute;
    background: #FFFFFF;
    padding: 20px;
    margin: 0 auto;
}

ul {
    list-style: circle;
    display: inline-block;
    vertical-align: top;
    width: 20%;
    margin: 0 15% 0 5%;
}

.imagembeneficios {
    width: 50%;
}

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

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

Olá Asafe Feitosa

Na hora de declarar a classe no CSS do benefícios a posição está como absolute, fazendo com que o rodapé seja jogado para o lado da imagem dos benefícios, se retirar ele irá aparecer normal:

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

Ou colocar como relative também soluciona:

.beneficios {
    position: absolute;
    background: #FFFFFF;
    padding: 20px;
    margin: 0 auto;
}

resolveu aqui, mt obrigado... mas queria saber por que o .beneficios em absolute joga o footer pro lado?

Quando você usa o atributo absoluto, ele pode fazer algumas alterações indesejadas no layout da página. Principalmente quando há elementos filhos.

Por isso eu sempre tento usar os outros parâmetros ao invés de absoluto para projetos mais simples, quase nunca ele é necessário nesses projetos.

Vou deixar aqui um artigo da própria Alura que explica essa questão em detalhes, e tem uns códigos de exemplo que você pode editar para ver como funciona essas questões.

https://www.alura.com.br/artigos/entenda-a-propriedade-position-css?gclid=CjwKCAjwwo-WBhAMEiwAV4dybaOi2g6MeY7v36N3Amtfh4UP03MA7eNVPk-5vXkkNpfjgsobgGQxShoCvmIQAvD_BwE