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

Footer sobe se o conteudo do main for curto

Olá pessoal.

Estou com um problema, eu tenho um texto curto em uma página e o footer está subindo. Tentei o position: relative, fix e acaba arrumando uma página e ferrando a outra hahaha.

segue o código css

@import url('https://fonts.googleapis.com/css2?family=Krona+One&family=Montserrat:wght@400;600&display=swap');

:root {
    --cor-primaria: #F5E8C7;
    --cor-secundaria: #594545;
    --cor-terciaria: #AC7088;
    --cor-hover: #AC7088;

    --font-primaria: 'Krona One', sans-serif;
    --font-secundaria: 'Monteserrat', sans-serif;

}

* {
    margin: 0;
    padding: 0;
}

body {
    height: 100vh;
    box-sizing: border-box;
    background-color: var(--cor-primaria);
    color: var(--cor-secundaria);
    min-height: 100%;


 }

 .cabecalho {
    padding: 2% 0% 0% 20%;
 }

 .cabecalho__menu {
    display: flex;
    gap: 80px;
 }

 .cabecalho__menu__link { 
    font-family: var(--font-secundaria);
    font-size: 24px;
    font-weight: 600;
    color: var(--cor-terciaria);
    text-decoration: none;

 }

 .titulo-destaque {
    color: var(--cor-terciaria);
 }
.paragrafo-destaque {
    /* color: #5C1D31; */
}
.apresentacao {
    padding: 5% 20%;
    align-items: center;
    justify-content: space-between;
    display: flex;
}

.apresentacao__conteudo {
    width: 615px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.apresentacao__conteudo__titulo {
    font-size: 36px;
    font-family: var(--font-primaria);

}

.apresentacao__conteudo__subtitulo {
    font-size: 20px;
    font-family: var(--font-primaria);

}

.apresentacao__conteudo__texto {
    font-size: 24px;
    font-family: var(--font-secundaria);
}

.apresentacao__conteudo__texto_cv {
    font-size: 21px;
    font-family: var(--font-secundaria);
}

img {
    width: 30%;
    }

.apresentacao__links {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
}
.apresentacao__links__subtitulo{
    font-family: var(--font-primaria);
    font-weight: 400;
    font-size: 24px;
}
.apresentacao__links__botao {
    /* background-color: #A8365A; */
    display: flex;
    justify-content: center;
    gap: 16px;
    border: 2px solid var(--cor-terciaria);
    width: 378px;
    text-align: center;
    border-radius: 8px;
    font-size: 24px;
    font-weight: 600;
    padding: 21.5px 0;
    text-decoration: none;
    color: var(--cor-secundaria);
    font-family: var(--font-secundaria);
}
.apresentacao__links__botao:hover {
    background-color: var(--cor-hover);
}

.imagem-instagram {
    width: 9%;
}

.imagem-linkedin {
    width: 9%;
}
.imagem-twitter {
    width: 9%;
}

.rodape {
    background-color: var(--cor-terciaria);
    padding: 24px;
    text-align: center;
    font-family: var(--font-secundaria);
    font-size: 24px;
    font-weight: 400;
    color: var(--cor-primaria);

}
7 respostas

Tente colocar todo o conteúdo que não seja o header e nem o footer dentro de uma tag main. No CSS coloque um height de 100% na tag.

HTML:

<body>
    <header><h1>Menu</h1></header>

    <main>
        <p>Welcome to HTML-CSS-JS.com</p>
        <p>Online HTML, CSS and JavaScript editor 
        with instant preview.</p>
        <p>Online HTML, CSS and JavaScript editor 
    </main>

    <footer>
        <h1>Direitos reservados</h1>
    </footer>
</body>

CSS:

main{
  height: 100%;
}

O Main vai empurrar o footer para baixo. Espero ter ajudado!

Aqui tá o teste que eu fiz no editor online de HTML CSS e JavaScript: https://html-css-js.com/?html=%3C!DOCTYPE%20html%3E%0A%3Chtml%3E%0A%3Chead%3E%0A%3Ctitle%3EHTML%20CSS%20JS%3C/title%3E%0A%3C/head%3E%0A%3Cbody%3E%0A%20%20%3Cheader%3E%3Ch1%3EMenu%3C/h1%3E%3C/header%3E%0A%20%20%3Cmain%3E%0A%20%20%20%20%3Cp%3EWelcome%20to%20HTML-CSS-JS.com%3C/p%3E%0A%20%20%20%20%3Cp%3EOnline%20HTML,%20CSS%20and%20JavaScript%20editor%20%0A%20%20%20%20with%20instant%20preview.%3C/p%3E%0A%20%20%20%20%3Cp%3EOnline%20HTML,%20CSS%20and%20JavaScript%20editor%20%0A%3C/main%3E%0A%20%20%3Cfooter%3E%0A%20%20%20%20%3Ch1%3E%0A%20%20%20%20%20%20Direitos%20reservados%0A%20%20%20%20%3C/h1%3E%0A%20%20%3C/footer%3E%0A%3C/body%3E%0A%3C/html%3E&css=/*%20CSS%20styles%20*/%0Ah1%20%7B%0Afont-family:%20Impact,%20sans-serif;%0Acolor:%20#CE5937;%0A%7D%0A%0Amain%7B%0A%20%20height:%20100%25;%0A%7D%0A%0A%09%20%20&js=//%20JavaScript%0A%0A

Olá Lucas, não deu certo :(

vou te mandar o html e o print da tela

HTML

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Sobre mim</title>
    <link rel="stylesheet" href="./Styles/style.css">
</head>
<body>
    <header class="cabecalho">
        <nav class="cabecalho__menu">
            <a class="cabecalho__menu__link" href="index.html" >Home</a>
            <a class="cabecalho__menu__link" href="about.html" >Sobre mim</a>
            <a class="cabecalho__menu__link" href="curriculo.html" >Currículo </a>
        </nav>
    </header>
    <main class="apresentacao">
        <section class="apresentacao__conteudo">
            <h1 class="apresentacao__conteudo__titulo"> Sobre mim</h1>
            <p class="apresentacao__conteudo__texto">TEXTO</p>
            <p class="apresentacao__conteudo__texto">TEXTO </p>
        </section>
        <img src="./assets/Beatriz2.jpeg" alt="Foto Beatriz Sobre mim">
    </main>
    <footer class="rodape">
        <p>Desenvolvido por Mauricio Mory</p>
    </footer>
</body>
</html>
solução!

IMAGEM

Como envia a imagem no forum ? hahahaha

Que estanho. Testei esse código e fiz o upload no meu Github pra te mandar o link:

https://github.com/LucasInmanuel/footer-fixed

Faz o download e testa na sua máquina. Aqui na minha funcionou.

Nada ainda, o footer continua subindo

Atualizei novamente o repositório. Usei container para centralizar o conteúdo do seu site. Fiz alguns testes, pode testar novamente?