Rodapé sempre embaixo

Esse é um problema clássico que todos nós desenvolvedores já passamos.

Já cruzei com mil soluções para o problema, porém esse final de semana precisei de algo e nas minhas pesquisas encontrei uma solução que funcionou perfeitamente, melhor do que quaquer uma que já tenha usado.

O Problema

o-problema-rodape

Como vemos na imagem acima, o rodapé do site seguindo uma estrutura normal de HTML ficaria logo após a div do conteúdo.

A Solução

a-solucao-rodape

Como vemos na imagem acima, esse é o resultado final que queremos.

O código HTML

<div class="tudo">
   <div class="topo"></div>
   <div class="conteudo"></div>
   <div class="rodape"></div>
</div>

O código CSS

html,
body {
   margin:0;
   padding:0;
   height:100%;
}
.tudo {
   min-height:100%;
   position:relative;
}
.topo {
   background:#ff0;
   padding:10px;
}
.conteudo {
   padding:10px;
   padding-bottom:60px;   /* Mesma Altura do Rodapé */
}
.rodape {
   position:absolute;
   bottom:0;
   width:100%;
   height:60px;   /* Mesma Altura do Rodapé */
   background:#6cf;
}

Por que essa é a melhor solução?

  • Funciona em praticamente todos os browsers (menos em IE 6, existe solução mas não vou nem postar Wink)
  • CSS 100% válido e sem Hacks
  • Sem javascript

Veja um exemplo em funcionamento.

Créditos para a solução!

Comentários
  • avatar

    Eliezer escreveu em 27/08/2011 às 00:31:09

    Parabéns pelo post. Sempre acompanho seu blog e esta dica é bem legal. Abraços.

  • avatar

    Douglas escreveu em 12/10/2011 às 14:16:43

    clear seria a solução?

  • avatar

    Horácio Ragonezi escreveu em 11/01/2012 às 10:16:21

    Ronildo, mas nesse caso o background do conteúdo repete até o rodapé?

  • avatar

    Ronildo Costa escreveu em 11/01/2012 às 10:18:25

    Sim, vai se repetir, se tiver com dúvidas usa o Firebug pra ver como ficam as Div's

  • avatar

    Directorio escreveu em 22/01/2012 às 00:26:49

    Muito bom artigo, pareceu-me muito interessante. Obrigado

Escrever Comentário



Para ter sua foto no comentário faça o seu cadastro no site Gravatar.