E' una cosa che ho scoperto da pochi giorni, non l'ho mai letta da nessuna parte, quindi scusatemi se sembra che ho scoperto l'acqua calda!

Dunque, il contenimento del float si rende necessario quando vi è un elemento float all'interno di un contenitore, per far si che non debordi da quest'ultimo ma ne rimango compreso nei limiti.
La tecnica più classica consiste nel dare il clear ad un elemento, di solito un div, che viene posto alla fine del contenitore, prima della sua chiusura e dopo gli elementi flottati! così:
codice:
<div style="clear:left"></div>
Il valore del clear deve essere lo stesso del float. (a volte io uso both per risparmiare codice css)
In altri casi lo vedrete indicato così:
codice:
<div style="clear:left">&_nbsp;</div>
Nella mia esperienza, mi è capitato che in alcuni casi andasse bene il primo codice, in altri invece non funzionava e dovevo per forza mettere del contenuto nel div, come ad esempio uno spazio!
In questi giorni ho scoperto un vincolo importante che esiste tra il clear e il padding.
La regola funzionante è solo la seconda, quella con lo spazio! per far si che funzioni la prima è necessario che il div contenitore abbia un valore di padding diverso da zero!
Le due regole cmq non sono equivalenti, in quanto quella con lo spazio genererà tale spazio nella pagina, mentre con l'applicazione del padding non vi sarà nessuno spazio!
Ovviamente il clear può essere dato anche ad altri elementi, come hr, br, ecc...

p.s. Questa non è l'unica regola per il contenimento del float, ne esistono altre ma ciò esula dal mio discorso.