overflow清除浮动的有关问题

overflow清除浮动的问题
HTML code

<div style="background:blue; overflow:hidden;">
    <div style="width:100px; height:100px; background:red; float:left;"></div>
</div>



一直没想明白为什么使用overflow:hidden可以清除浮动呢?这是什么原理啊?

另外这种方法是不是在IE9里不行了?我刚才试了下,不行。但在火狐里还可以。

------解决方案--------------------
没发觉能清除
------解决方案--------------------
<div style="background:blue; overflow:hidden;height:1%">
<div style="width:100px; height:100px; background:red; float:left;"></div>
</div>
------解决方案--------------------
HTML code

<div style="background:#06F; overflow:hidden;">
        <div style="height:50px; width:100px; float:left; background:#F00;"></div>
        <div style="height:100px; width:100px; background:#F0F;"></div>
    </div>