Die Festlegungen "float: left ;" und "float: right ;" machen den Block für seinen Nachfolger unsichtbar, nicht aber für die Textzeilen im Nachfolger.
Blöcke mit "float" und ohne Festlegung der Breite werden nur so breit, wie es für den Inhalt nötig ist.
Validator auf diese Seite anwenden