
「overflow:hidden」让元素创建了新的 block formatting context(http://www.w3.org/TR/CSS21/visuren.html#block-formatting)。
http://www.w3.org/TR/CSS21/visuren.html#bfc-next-to-float
你例子中的 <p> 元素建立了新的 BFC,所以 <p> 的内容不能再环绕否则它的盒子必然会和 <img> 重叠,与规范定义不符了。

「overflow:hidden」让元素创建了新的 block formatting context(http://www.w3.org/TR/CSS21/visuren.html#block-formatting)。
http://www.w3.org/TR/CSS21/visuren.html#bfc-next-to-float
你例子中的 <p> 元素建立了新的 BFC,所以 <p> 的内容不能再环绕否则它的盒子必然会和 <img> 重叠,与规范定义不符了。