Hallo,
wenn du divs floatest, dann sind die Angaben für top und left falsch. Die braucht man nur im Zusammenhang mit absoluter oder relativer Positionierung. Gefloateten divs könntest du mit margin einen Außenabstand zuweisen.
Wenn du willst, dass die divs nebeneinander stehen (bei float), brauchen sie natürlich auch genügend Raum. Wenn das Browserfenster z.B. kleiner wäre, würden sie auch umbrechen. In diesem Fall hilft ein äußerer div (um die gefloateten), der genügend Raum schafft und bei kleinerem Browserfenster für Scrollbalken sorgt.
Kürzer schreiben ließe sich dein CSS auf jeden Fall. Du könntest z.B. deinen divs noch dieselbe class geben und für die dann im CSS alle Eigenschaften deklarieren, die für alle divs gleich sind.
Hier z.B. findest du aber auch noch andere Möglichkeiten (auch bessere).
Liebe Grüße
Nele