Per prima cosa, i miei auguri di prospero e sereno 2006. Apriamo l'anno con un alcune riflessioni di un certo spessore. Lo spunto è un provocatorio articolo di David Baron: Overuse of floats considered harmful (l'abuso dei float è da considerare dannoso). Ecco la traduzione di alcuni passaggi chiave:
I float sono stati pensati per portare piccole parti di contenuto fuori dal flusso e lasciare che il resto del testo gli si avvolga attorno. Non sono stati pensati per essere usati per il contenuto principale di una pagina, né sono stati progettati per questo. [...]
Vedo questa situazione simile all'uso delle tabelle per il layout che adesso è ampiamente accettato come improprio. L'attuale abuso dei float è spesso ottenuto con lo scopo di sistemare uno dei problemi causati dalle tabelle: l'uso sbagliato del markup semantico. Tuttavia, sta riproponendo altri problemi causati dall'uso non adeguato delle tabelle:
- Rende più difficile realizzare i browser
- Rende più difficile migliorare i web standards
- Riduce la pressione per l'implementazione di tecnologie migliori
Personalmente, nel momento in cui leggo qualcosa, mi piace sapere chi lo scrive: David Baron, l'autore del pezzo in questione, lavora per Mozilla ed è parte attiva per il working group sui CSS. Cià non toglie che si tratti di considerazioni molto forti
e teoriche, e credo che in pochi condividerebbero: paragonare i float alle tabelle oggi non ha senso. Ecco un po' di ragioni a difesa dell'uso dei float per il layout:
- Consentono di usare markup semantico
- Tra qualche anno nel momento in cui disporremo di mezzi migliori,
consolidati e ben supportati per il layout, non dovremo comunque intervenire sul codice (x)HTML ma solo sul CSS - Al momento non ci sono alternative così potenti e flessibili: i posizionamenti assoluti non sono così versatili
- Sono il mezzo più usato e pratico attualmente disponibile
- Sono ben supportati dai browser attuali di ultima e penultima generazione
- Per retrocompatibilità saranno supportati nelle stesse modalità attuali anche dai browser futuri
- Non usare i float per i layout significa porre limiti troppo grandi nel processo di design di siti
- L'unica alternativa, molto anacronistica e molto meno versatile, è ritornare alle tabelle per il layout
Posso aver dimenticato qualcosa, ma direi che può bastare. Magari inizierà a riconsiderarli quando autori come Eric Meyer, Jeffrey Zeldman o Dan Cederholm li dichiareranno pericolosi.