Also das mit der Höhe sehe ich zunächst nicht als Problem an. Mein Code-Beispiel stellt ja auch nur einen Rahmen und keine übergreifende Lösung dar. Auf Deine Variante würde ich zugreifen, wenn überhaupt nix mehr geht.
Sofern die Breite angegeben wird, sollte es auch keine Float-Verschiebungen geben.
Ich denke, dass sich das, wie von mir vorgeschlagen, gut formatieren lässt. Aber man muss vorgeschlagenen Code natürlich noch bis ins Detail ausarbeiten. Es war ja nur ein Denkanstoß und keine Komplettlösung. Mit Sicherheit hängt dort noch eine Menge Arbeit drin.