así es con ponerle un clear:both al siguiente elemento que desees rompa el efecto de los elementos flotantes es mas que suficiente...
con lo del overflow:hidden creo que me fui mas adelante a tus necesidades.... pero aun así te lo explico con un ejemplo básico, cuando un div contiene elementos flotantes este no puede tomar la altura de los elementos hijos si no aplicas un clear al final o aplicas un overflow sobre el div padre... prueba estos 3 códigos en un html en blanco y notaras el efecto al que me refiero
codigo sin clear y sin overflow
Código HTML:
Ver original<div style="background:#fe0;"> <div style="float:left;height:30px;background:#03f;">adsaa
</div> <div style="float:left;height:300px;background:#f00;">adsaa
</div>
codigo con clear
Código HTML:
Ver original<div style="background:#fe0;"> <div style="float:left;height:30px;background:#03f;">adsaa
</div> <div style="float:left;height:300px;background:#f00;">adsaa
</div> <br style="clear:both;" />
codigo con overflow
Código HTML:
Ver original<div style="background:#fe0;overflow:hidden;"> <div style="float:left;height:30px;background:#03f;">adsaa
</div> <div style="float:left;height:300px;background:#f00;">adsaa
</div>