1、CSS 最基本的布局单位
Box 是 CSS 布局的对象和基本单位。
元素的类型和display的属性决定了Box的类型。
2、BFC
BFC(Box Formatting Context)是一个独立的渲染区域,规定内部的元素如何布局,并且与外部的元素无关。
Formatting context 是 W3C CSS2.1 规范中的一个概念。它是页面中的一块渲染区域,并且有一套自己的渲染规则,规定了内部子元素如何定位,以及与其他元素的关系和相互作用。
3、BFC的布局规则
内部的Box会在垂直方向上一个接着一个放置。
Box垂直方向的距离由 margin 决定。属于同一个BFC中的两个相邻的Box上下margin会发生叠加。
每个元素的margin box 的左边,与包含块border box 的左边相接触。即使浮动也是如此。
BFC 的区域不会与float box 重叠。
BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响外面的元素,反之也如此。
计算BFC的高度时,浮动元素也参与计算。
4、哪些元素会生成BFC?
根元素;
float 属性不为 none;
position 为 absolute 或 fixed;
display 为 inline-block,table-cell,table-caption,flex,inline-flex;
overflow 不为 visible;
5、BFC的作用及原理
自适应两栏布局:左边定宽高,右边自适应。
左侧浮动,然后左右重叠,根据BFC的规则第三、四条,设置右侧的元素为BFC。
清除内部浮动:
一个元素里面,有两个浮动的元素,父元素的高度默认是不计算浮动元素的高度。
解决方案,根据BFC规则第六条。
防止垂直margin叠加:
BFC内部相邻的元素的margin会叠加。
根据BFC规则第五条,将其中一个设置为BFC即可。
BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。