float gibt man im ersten Element neber dem sich alle anderen anordnen sollen an,
mag anfangs unlogisch klingen da der Gedankengang das float left bedeutet das das Element sich links an das Nachbarelement ran kuschelt, zwar falsch aber verständlich ist.
Gib im ersten Element (Blau) einfach float:left; an. Float:left; wirkt wie ein Magnet der alles auf seiner Stammebene (gleiche Ebene vom logischem Aufbau) (das heißt Eltern- und Kinderelemente ausgenommen) rechts an sich heranzieht und sie dort der Reihenfolge nach an sich anordnet, quasi magnetisiert er alle anderen Elemente.
Eltern Kindeselemente, oder Elemente die außerhalb des Elternelementes des floatenden Elements sind geht float am Po vorbei.
Wenn du nicht mehr willst das er die Elemente sich nach ihm anordnen, solltest du in dem Element ab dem das nicht mehr sein soll clearen, mit clear:both;, die Elemente nach dem geclearten machen wieder das wofür sie gemacht wurden, wenn sie zB block sind brechen sie die Zeile ab.
Der IE kennt das css-Tabellen erst ab Vers.8.
Mit display-inline-block kannst du ebenfalls vertical-align benutzen
( im IE5.5 bis 7 mit display: inline; + zoom:1; ) :