Quero compartilhar com vocês minha solução de rodapé fixo, sem necessidade de JavaScript (uma alternativa a esta solicitação), assumindo que você conhece a altura do seu rodapé. Eu dei ao meu um extra de 100px apenas para ter algum espaço entre o conteúdo e o rodapé.
Caso você tenha um rodapé maior com várias colunas, deve definir uma altura fixa diferente na sua aba móvel.
Passo 1: Cole isso dentro da sua aba de CSS comum
body {
position: relative;
}
#main {
margin-bottom: 350px; /* é igual à altura do rodapé - altere conforme necessário, tanto na aba comum quanto na sua aba móvel */
}
#sticky-footer {
padding: 50px 0;
background: var(--header_background); /* opcional */
color: var(--primary-medium); /* opcional */
text-align: center; /* opcional */
position: absolute;
bottom: 0;
width: 100%;
left: 0;
}
Passo 2: Vá até sua aba </body> e cole o HTML do seu rodapé dentro
Exemplo:
<div id="sticky-footer">
<div class="wrap">
<!-- seu conteúdo de rodapé aqui -->
</div>
</div>
É isso . Agora seu rodapé ficará fixo na parte inferior da sua página, mesmo em páginas com conteúdo curto.
É assim que nosso rodapé se parece em uma página com conteúdo curto:
Você me diz, Jeff ..precisamos instalar componentes para cada código HTML e CSS extra?
Isso não é um tutorial de “como criar um rodapé”, mas sim uma solução alternativa rápida para fazer um rodapé ficar fixo no final da página para aqueles que podem querer criar o próprio rodapé.
Hmm, minha ideia é que queremos que as pessoas utilizem os componentes do tema sempre que possível, pois são “oficiais” da nossa parte e, portanto, recebem suporte completo, atualizações automáticas, etc. O que acham @awesomerobot, @Johani e @jordan.vidrine?
Sim, se o componente de rodapé oficial atender às suas necessidades, é ótimo, pois nós o mantemos atualizado para você. No entanto, algumas pessoas podem querer um layout diferente.
Já fiz algo assim no passado… é um processo semelhante ao do OP. Você define a altura de #main-outlet como 100% da altura da viewport (100vh) menos a altura do rodapé e do cabeçalho. Assim, em páginas curtas, seu rodapé ficará posicionado logo na parte inferior.
#main-outlet {
box-sizing: border-box; // inclui o padding no cálculo da altura
}
Isso surge com frequência suficiente para valer a pena fazer algo assim automaticamente no núcleo, caso haja conteúdo em footer.html ou em qualquer um dos dois outlets de plugin de rodapé.