IFC:内联格式化上下文
他是页面中的渲染区域,并有一套渲染规则,它决定了元素将如何定位以及和其他元素的关系和相互作用。
inline/inline-block
特点:
1、一个一个水平排放,不独占一行
2、水平的margin、padding、border有效,上下margin无效
3、宽高无效
4.行宽由含块和存在的浮动绝对
BFC:block formatting Context 块级格式化上下文
会形成一个特殊的区域/空间,在这个空间里面,所有的东西,不会受其他标签的影响,同时也不会影响其他标签。
bdc开启/形成条件:
1、overflow
2、float
3、display:inline-block/block/table-cell(基本不用)
4、position:绝对定位absolute/固定定位fixed
布局规则:
1、內部盒子会在垂直方向,一个个放置
2、盒子垂直方向的距离由Margin决定,属于同一个BFC的相邻两个box的上下margin会发生重置
3、每个元素的左边,与包含的盒子的左边相接触,即使存在浮动也是如此
4、BFC的区域不会和float重叠
5、BFC是一个隔离的独立容器,容器里面的元素不会影响外面的元素
6、计算BFC的宽度时,浮动元素也参与计算