BFC实现自适应两栏布局
回想第一次听到BFC的时候,是在解释为什么高度塌陷可以用overflow:hidden;等方法来解决的时候,当时BFC对我来说还是一个陌生的概念。在解决高度塌陷的问题的时候,通过BFC的触发条件之一触发BFC后,在计算BFC的高度的时候,浮动元素就可以参与计算了。 BFC(Block Formatting Contexts)即块级格式化上下文,首先得是块元素,其次具备触发条件之一的才可以是BFC。 BFC的触发条件可以是 根元素;html标签本身就是一个BFC float的值不为none overflow的值不为visible display的值为inline-block/table-cell/table-caption/flex/inline-flex position的值为absolute或fixed 得知怎么能触发BFC之后,就来到了我今天要说的触发BFC之后,利用BFC的其中一个特性可以实现自适应两栏布局。BFC的这个特性是,BFC的区域不会与浮动元素发生重叠。这个特性也可以解释为什么多个元素浮动之后会横着排。 当上面的一个元素浮动,下面的一个元素没有浮动的时候,会发生重叠,原因是浮动之后不占据位置,所以下面的元素会上去。 <style type="text/css"> body{margin: 0;padding: 0;} .box1{width: 100px