修复塌陷问题的核心:
Floats, absolutely positioned elements, block containers (such as inline-blocks, table-cells, and table-captions) that are not block boxes, and block boxes with 'overflow' other than 'visible' (except when that value has been propagated to the viewport) establish new block formatting contexts for their contents.
overflow:hidden 会使得元素建立新的block formatting context(BFC 或者 flow root)
下面的属性也会有同样的作用:
float: left/right
display: inline-block/inline-table/table-cell/table-caption
position: absolute / fixed
overflow: hidden/auto/ scroll ( overflow-x and overflow-y 也会)
因为overflow:hidden;建立block formatting context副作用最低,所以被广泛使用