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.