di: Alessandro Fulciniti 20 Aprile 2005
La proprietà float è senza dubbio una delle più utili e usate dei CSS, soprattutto per organizzare layout e sezioni di pagina. Ne abbiamo parlato in moltissime occasioni, per esempio nella Guida ai layout con i CSS, e negli articoli sul Capire il box model, quelli sul layout Layout liquido a 2 colonne con i CSS e tre colonne e quello sulla risoluzione dei problemi.
Questo articolo, oltre ad essere un breve riepilogo delle cose essenziali da sapere sui float, nasce con lo scopo di presentare alcune soluzioni pratiche alla luce di nuove e recenti tecniche. Iniziamo subito.
Come abbiamo visto nell'articolo sul Capire il box model, elementi float vengono resi automaticamente block-level: questo significa che si può attribuire loro una larghezza e/o un altezza via CSS.
A differenza degli elementi block-level normali, gli elementi float oltre ad essere auto-adattanti in altezza (ossia assumere l'altezza necessaria al contenuto) lo sono anche in larghezza. Questo significa che un elemento float assumerà la larghezza massima per il suo contenuto, fino ad espandersi per tutta la larghezza del suo contenitore.
È essenziale considerare che gli elementi float vengono traslati dal flusso degli elementi di pagina verso uno dei due estremi del loro contenitore, e che elementi adiacenti nel codice "sentono" la loro presenza, regolandosi di conseguenza. Ciò nonostante, gli antenati degli elementi float, ossia i loro contenitori, li ignorano.
Una compagna quasi inseparabile della proprietà float è la proprietà clear che, se applicata ad un elemento successivo ad uno reso float, impedisce che questo subisca il float.
Come abbiamo accennato i float sono, a differenza di elementi block-level normali, auto-adattanti in larghezza, ovvero se non hanno una larghezza o dei margini impostati, si espanderanno in orizzontale fino alla larghezza del loro contenitore. (o almeno in via teorica: questo non succede infatti in Internet Explorer 6).
Ho preparato un semplice esempio per mostrare come elementi float si espandano in orizzontale a seconda del loro contenuto. È un esempio molto semplice, ma se lo osservate sia con IE che con un browser come Safari, Opera o Mozilla, noterete che tra IE e gli altri browser ci sono differenze di resa. Il comportamento che ci si aspetta è questo:

Ovvero, il comportamento di un browser di ultima generazione. In ogni caso, gli effetti di float non controllati in larghezza sono imprevedibili, soprattutto in casi reali in cui non ci sono solo elementi float.
Una buona pratica è quindi costringere il float in larghezza. I modi possibili sono due:
Responsive Desing, la guidaProgettare siti da fruire su dispositivi diversi è imprescindibile... |
Guida CSS3Scoprire e usare al meglio tutte le novità dell'ultima versione dei... |
Guida CSS Tecniche essenzialiTesto, immagini, layout, form, liste, tabelle: soluzioni pronte per... |
Ogni mercoledì, direttamente nella tua e-mail: guide, articoli, tutorial, FAQ e approfondimenti tecnici su CSS e Web Design.
Iscriviti alla newsletter
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |