Footer in fondo allo schermo

andale73

Nuovo Utente
20 Dic 2006
2
0
0
Ciao a tutti... seguo da anni questo sito, ma non ho mai scritto...

Ora sono alle prese con un problema comune, ma di cui ancora ne io ne molti altri hanno trovato la soluzione :incazz: .

Layout molto semplice: area centrale fissa (nel mio caso 920px) ai lati due sfumature che occupano lo spazio restante tra l'area centrale e i margini dello schermo. Semplice no ?

Header dentro l'area centrale, contenuti, footer... e qui iniziano i problemi.

Ho provato in 3 modi: layer, tabelle e tabelle in quirks mode...

Manco a dirlo, l'unico modo per ottenere il risultato voluto (o quasi) è il terzo che mi fa veramente schifo :skull: !!

In quirks mode se l'area centrale la faccio con una tabella con due celle e la seconda la metto con align bottom il footer mi si piazza in fondo allo schermo e l'area centrale resta bianca con le due colonne ai lati... ed è quello che vorrei. Se i contenuti crescono il footer scende sotto al margine dello schermo... ed è quello che vorrei.
Il problema è che non vorrei il quirks mode, vorrei una pagina ben fatta xhtml e soprattutto in quirks mode ie6 interpreta il box-model in un modo e ff in un'altro, quindi l'header che è fatto comunque a layer si sfascia.
Dichiarando il DTD anche la soluzione con le tabelle non va bene perchè se i contenuti sono più corti dell'area dello schermo, il footer si piazza sotto a questi e soprattutto le due colonne laterali finiscono con il footer lasciando un rettangolo bianco (o del background del body) sotto di lui (na schifezza insomma...:pernacchi )
Facendo tutto a layer sono giunto alla stessa situazione, ma non con il footer ai piedi dello schermo in caso di contenuti brevi, ed al suo posto quando i contenuti crescono...

Esiste una soluzione ? Domani al limite posto dei link con gli esempi di quanto detto.

Un saluto a tutto il forum
 
Personalmente quello che vuoi fare tu, a me non è mai riuscito (a meno che non usi un body con altezza fissa).
E' anche vero che non ci ho mai provato molto attentamente.

Dal punto di vista del puro xHTML, non mi stupirebbe se la cosa non fosse possibile, perchè bisogna tenere presente che il documento e lo schermo sono due entità completamente slegate. La cosa è più evidente quando pensi ad un documento molto lungo: lo schermo finisce, il documento "continua" sotto...

IExplorer in effetti lega almeno in parte documento e schermo, infatti se imposti la body height al 100% il body occupa tutto lo schermo.
La cosa però è mal pensata, perchè se metti nel body molto testo, il body si allunga più del 100% dello schermo, trasgredendo così la direttiva height :confused:

Secondo me l'unica maniera è usare il javascript:
prima del load del body devi leggere l'altezza dello schermo (la funzione è diversa per FF o IE), poi cambi la posizione del footer al volo con un comando del tipo:
getElementById("footer").style.top = "nnnpx"
dove nnn è un valore che devi calcolarti leggendo le proprietà height degli altri elementi della pagina.

Forse c'è un modo più semplice (tabelle escluse) ma non mi viene in mente.

P.S. per il problema dei "buchi bianchi" nel background cerca con google "tecnica delle false colonne"
 
Ultima modifica:
Personalmente quello che vuoi fare tu, a me non è mai riuscito (a meno che non usi un body con altezza fissa).
E' anche vero che non ci ho mai provato molto attentamente.

Dal punto di vista del puro xHTML, non mi stupirebbe se la cosa non fosse possibile, perchè bisogna tenere presente che il documento e lo schermo sono due entità completamente slegate. La cosa è più evidente quando pensi ad un documento molto lungo: lo schermo finisce, il documento "continua" sotto...

Guarda... un html 4.01 transitional a me andrebbe benissimo lo stesso. So già che il sito andrà visto su un pc normalissimo... questa corsa ai 1000 dispositivi mi sembra eccessiva, soprattutto per i notevoli sforzi mai ripagati che richiede...

IExplorer in effetti lega almeno in parte documento e schermo, infatti se imposti la body height al 100% il body occupa tutto lo schermo.
La cosa però è mal pensata, perchè se metti nel body molto testo, il body si allunga più del 100% dello schermo, trasgredendo così la direttiva height :confused:

E andrebbe benissimo... è proprio quello che voglio !! il footer in fondo schermo se non ci sono contenuti presenti e al suo posto (ovvero in fondo al documento) se i contenuti sono lunghi...
Con il body height a 100% IE fa così.. FF no, e rimette il footer sotto all'header (sto provando con una pagina con il corpo vuoto)...

Ancora non ho messo niente online... sto lavorando in locale, presto metto esempi, comunque hai capito perfettamente cosa intendo fare..

Grazie x l'aiuto
 

Discussioni simili