Ich denke, du bist einem Missverständnis aufgesessen.
Das Element, das die Angabe "float" bekommt, fließt selbst gar nicht.
<div style="float:left">...</div>
bedeutet im Klartext: Setze **dieses** Element an den linken Rand des Elternelements und lasse dann **die folgenden** Elemente rechts herumfließen.
Und zwar so lange fließen, bis vor das Element, das mit style="clear:left" oder "clear:both" definert ist.