Voglio condividere con voi la mia soluzione per un footer fisso, senza bisogno di JavaScript (un’alternativa a questa richiesta), assumendo che conosciate l’altezza del vostro footer. Ho aggiunto 100px in più al mio per avere uno spazio tra il contenuto e il footer.
Nel caso abbiate un footer più grande con più colonne, dovreste impostare un’altezza fissa diversa nella scheda mobile.
Passo 1: Incolla questo nella scheda CSS comune
body {
position: relative;
}
#main {
margin-bottom: 350px; /* corrisponde all'altezza del footer: modificalo secondo le tue esigenze, sia nella scheda comune che in quella mobile */
}
#sticky-footer {
padding: 50px 0;
background: var(--header_background); /* opzionale */
color: var(--primary-medium); /* opzionale */
text-align: center; /* opzionale */
position: absolute;
bottom: 0;
width: 100%;
left: 0;
}
Passo 2: Vai alla scheda </body> e incolla il tuo HTML del footer all’interno
Esempio:
<div id="sticky-footer">
<div class="wrap">
<!-- il contenuto del tuo footer qui -->
</div>
</div>
È tutto . Ora il tuo footer rimarrà fissato in fondo alla pagina, anche su pagine con contenuto breve.
Ecco come appare il nostro footer su una pagina con contenuto breve:
Me lo dici tu, Jeff …dobbiamo installare componenti per ogni codice HTML e CSS aggiuntivo? Questo non è un tutorial su “come creare un footer”, ma piuttosto una soluzione alternativa rapida per fissare un footer in fondo alla pagina per chi volesse crearne uno proprio.
Hmm, la mia idea è che vogliamo incoraggiare le persone a utilizzare i componenti del tema ogni volta che è possibile, dato che sono “ufficiali” da parte nostra e quindi ricevono pieno supporto, aggiornamenti automatici, ecc. Cosa ne pensano @awesomerobot, @Johani e @jordan.vidrine?
Sì, se il componente footer ufficiale soddisfa le tue esigenze, è comodo perché lo manteniamo aggiornato per te, ma alcune persone potrebbero volere un layout diverso.
Ho fatto qualcosa di simile in passato… è un processo simile a quello descritto dall’OP. Imposti l’altezza di #main-outlet pari al 100% dell’altezza della finestra di visualizzazione (100vh) meno l’altezza di footer e header. Quindi, nelle pagine più brevi, il footer si posizionerà automaticamente in fondo.
#main-outlet {
box-sizing: border-box; // include il padding nel calcolo dell'altezza
}
Questo problema si presenta abbastanza spesso, quindi probabilmente varrebbe la pena implementare automaticamente qualcosa di simile nel core se è presente contenuto in footer.html o in uno dei due outlet plugin del footer.