Forum Moderators: not2easy
[edited by: alt131 at 5:12 am (utc) on Dec 11, 2011]
[edit reason] Thread tidy [/edit]
Since a float is not in the flow, non-positioned block boxes created before and after the float box flow vertically as if the float did not exist.That means the parent - div#magcontent is drawn as if the floated elements do not exist, so it is only drawn to a height that will contain the non-floated child elements (.maghead and .maghead2). Put another way, the parent (div#magcontent) of floated elements does not expand to contain them.
The border box of a table, a block-level replaced element, or an element in the normal flow that establishes a new block formatting context (such as an element with 'overflow' other than 'visible') must not overlap the margin box of any floats in the same block formatting context as the element itself.So, setting overflow makes the parent element establish a new block formatting context, and that requires it to "expand" until it "contains" the floats. However, in this case the overflow has been applied to div#magcontainer which is the grandparent of the floats, and that's not quite what was desired. Set it on the parent div#content if you want that to expand instead.