一直都知道overflow可以清除浮动,但不知道背后的原理。查了很多资料,才知道原来还有BFC这个东西。写这篇文章是为了加深记忆,加深理解。什么是BFC?BFC的全称是BlockFormattingContext块级格式化上下文。一般情况下,BFC只存在于根级元素中,但有时我们也会在设置某些CSS属性时产生BFC。但前提是必须是块级元素。以下属性声明会生成BFC:1.floatisnotnone2.overflowisnotvisible3.positionisnotstaticandrelative4.displayisinline-blocktable-celltable-caption5.flexandinline-flexlayoutBFC布局规则1.内部元素垂直排列。2.垂直间隔由保证金决定。同一BFC中同一级别的两个元素之间的边距将崩溃。3.元素会在外层元素的左边或者右边,float也会一样原因4.BFC不会和float重叠(absolute,fixed除外)5.BFC计算高度的时候,float元素的高度也参与在计算中。6、BFC是隔离的,里面的元素不会影响外层。的变化也不会影响BFC。BFC应用解决margincollapse
