al darle la propiedad float a un elemento lo que sucede es que lo sacas fuera del flujo (del discurrir) del html. Una de las consecuencias es que ese elemento no hace "crecer" a su padre a la vez que él lo hace.
O añades un "corte" (clear:both) o juegas con la la propiedad "overflow: auto" (ojo, que si le tienes marcadas medidas, si las sobrepasa aparecerá el scroll)
Unas referencias:
http://librosweb.es/css/capitulo5/po..._flotante.html http://www.librosweb.es/css_avanzado...ar_floats.html
Un saludo