
Originariamente inviata da
plaztinum
se provi il codice (correggendo l' errore di prima), e scrolli su e giù per la pagina, ti accorgerai che la barra rimane lì. Invece vorrei che il footer fosse proprio in fondo alla pagina.
Ok, allora avevo frainteso fin dall'inizio, non considerare la mia prima risposta, il position:fixed non ti serve in questo caso ma è più opportuno absolute, come appunto avevi fatto.
Usando absolute dovrai chiaramente fare degli accorgimenti per correggere alcune problematiche che in parte riguardano il problema iniziale da te lamentato, ma non solo.
Una soluzione potrebbe essere questa (regole da aggiungere/rimpiazzare nei selettori già presenti nel tuo codice):
codice:
html{
height: 100%; /* Garantisce che il tag html si estenda sempre per tutta l'area della finestra e non in base ai contenuti */
}
body{
display: inline-block; /* Serve a far collassare i magini dei contenuti adiacenti ai limiti del body, i quali influirebbero altrimenti sullo stesso body */
position: relative; /* Blocca il riferimento dei contenuti con position absolute anche durante lo scroll della pagina */
width: 100%; /* Con inline-block la larghezza è relativa ai contenuti, quindi è necessario estenderla per l'intera larghezza della finestra */
min-height: 100%; /* Estende l'altezza del body per tutta la finestra anche se ci sono pochi contenuti, evitando che in tal caso il .footer si porti in mezzo alla pagina */
margin: 0; /* Rimuove i margini di default per ottenere un corretto dimensionamento */
}
.footer {
position: absolute; /* Posiziona il footer in modo assoluto, sempre in fondo alla pagina, cioè rispetto al body */
bottom: 0;
}
Tutti i dettagli del funzionamento sono riportati nei commenti; se hai comunque qualche dubbio, chiedi pure.
Buon proseguimento e un in-bocca-al-lupo per l'esame.
PS: occhio, nel tuo codice ci sono vari errori che lo rendono non valido. Un codice non valido potrebbe restituire una visualizzazione non corretta del layout. Consiglio di utilizzare sempre un validatore per controllare e correggere tutti gli eventuali errori presenti nei propri elaborati (vedi questo).