Dopo varie ricerche sul web ho trovato due metodi diversi per creare un layout a 3 colonne.
1. metodo classico (descritto in un articolo di pro.html.it) che consiste nel posizionare in modo assoluto
colonnasx e colonnadx, il contenuto avrà i margini adatti e andrà a posto di conseguenza.
Vantaggio: sito ridimensionabile a piacere e compatibilità (usando il box model hack) anche con browser che non supportano bene i css.
Svantaggio: il problema è che se la colonna centrale è più corta delle laterali bisogna aggiungere un padding bottom o tanti br (insomma allungarla in qualche modo) oppure mettere un footer solo al di sotto della colonna centrale per evitare che questo si sovrapponga alle colonne. Se invece la colonna centrale è la più lunga, per far allungare le altre due colonne (quelle laterali) si usa un escamotage (dare il colore al body). Ma in questo modo non si è obbligati ad avere le due colonne laterali dello stesso colore? E se le voglio di diverso colore? C'è una soluzione al problema? (magari è semplice ma non ci riesco)
2. metodo del float: colonnasx con float sx, colonna dx con float dx, colonna centrale con margini appropriati e infine footer con clear both che si assesta al di sotto dell'elemento che sporge di più.
Vantaggio, risolve il problema del footer.
Svantaggio (?), si deve per forza seguire l'ordine (all'interno
del testo del file) colonnasx, colonnadx, colonna centrale (perché conta
l'ordine dei float) e quindi il limite è proprio nell´ordine in cui appaiono i contenuti con browser non grafici o che non leggono il css.
Inoltre il float non è nato per ottenere questo scopo (esistono per l'appunto position assolute o relative). Ci sono altri problemi che non conosco?
Voi di che scuola di pensiero siete?
Qual è la via migliore. Illuminatemi please!
Grazie a tutti e scusate se sono stato prolisso.