Esto es más bien cosa de
CSS que de HTML5.
Eso te ocurre porque tendrías que limpiar el flotado después de esos elementos que flotas. Aunque también existe otra posibilidad, que es añadirle al contenedor de los elementos flotados un
overflow:hidden para forzar que crezca en altura según el contenido.