Once you float an element, it is no longer counted for its parent's height calculations, unless you put in a clearing element:
<div id="container">
<div id="floated" style="float: left">blah blah blah</div>
<br style="clear: both" />
</div>
Without that <br>
with the clear: both
, the #container div will be calculated to be 0-height. With the clearing br, it'll be at least the height of the floated div.
If you don't want to add unecessary markup to your layout, you CAN use overflow: auto
on the #container div, which has the same effect, as long as you combine it with a width
directive, as per this page.