1.最基本的CSS布局单元Box是CSS布局的对象和基本单元。元素的类型和display的属性决定了Box的类型。2、BFC(BoxFormattingContext)是一个独立的渲染区域,规定了内部元素如何布局,与外部元素无关。格式化上下文是W3CCSS2.1规范中的一个概念。它是页面中的一个渲染区域,有自己的一套渲染规则,规定了内部子元素如何定位,以及与其他元素的关系和交互。3.BFC布局规则内的boxes会在垂直方向依次放置。Box的垂直距离由margin决定。属于同一个BFC的两个相邻Boxes的上边距和下边距将被叠加。每个元素的边距框的左侧接触包含块的边框框的左侧。即使有花车也是如此。BFC的区域不会和floatbox重叠。BFC在页面上是一个隔离的、独立的容器。容器内的子元素不会影响容器外的元素,反之亦然。BFC计算高度时,浮动元素也参与计算。4、哪些元素会产生BFC?根元素;float属性不是无;位置是绝对的或固定的;显示是inline-block,table-cell,table-caption,flex,inline-flex;溢出是不可见的; 5.BFC的作用及原理 自适应两列布局:左边固定宽高,右边自适应。 漂浮在左边,然后左右重叠。根据BFC的第三条和第四条规则,将右边的元素设置为BFC。 清除内部浮动: 一个元素内部有两个浮动元素,浮动元素的高度默认不计算父元素的高度。 解决方案,根据BFC规则第6条。 防止垂直边距重叠: 相邻元素的BFC边距将重叠。 根据BFC规则第5条,设置其中一个为BFC即可。BFC是页面上一个隔离的独立容器,容器内部的子元素不会影响外部的元素。反之亦然。
