Sönke Tesch: Floating DIVs in DIV

Beitrag lesen

Wenn ich zwei DIVs innerhalb eines anderen DIVs z.B. per float:left nebeneinander ausrichte, dann scheint das umgebene DIV diese nicht mehr zu umschließen. Sowohl beim IE6 und dem aktuellen Mozilla. Ich schätze mal, dann wird das so richtig sein. Aber wieso? Ist das logisch?

Unter 10.6 "Computing height and margins", Absatz 3, "Block-level, non-replaced elements in normal flow, and floating, non-replaced elements" heißt es dazu in der CSS2-Empfehlung vom W3C:

Only children in the normal flow are taken into account (i.e., floating boxes and absolutely positioned boxes are ignored, and relatively positioned boxes are considered without their offset).

Elemente, bei denen float gesetzt ist, gehen also nicht in die Kalkulation der Höhe ihrer Elternelemente mit ein.

Und weiß jemand, wie man das umgehen kann?

Möchtest du, das dein Text unter den fliegenden Bauten weitergeht, kannst du für das nachfolgende Element das clear-Attribut benutzen.
Eine Möglichkeit, die Höhe des Elternelements dem der float-Elemente anzupassen, scheint es nicht zu geben.

Gruß,
  soenk.e