BFC和IFC理解

1,628 阅读1分钟

FC:Fomatting Context(格式上下文)。它是CSS2.1规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。分为:BFC和IFC。

BFC形成条件:

1.浮动元素(float除none以外的值)
2.定位元素(position(absolute/fixed))
3.display(值为inline-block/table-cell/table-caption时)
4.overflow(值为hidden/auto/scroll时)

BFC特性:

1.内部的盒子会在垂直方向上一个接一个的放置
2.垂直方向上的距离会叠加,值由最大margin值决定
3.BFC的区域不会float元素区域重叠 4.计算BFC的高度时,浮动元素也参与计算
5.BFC就是页面上的一个独立的容器,容器里面的子元素不会影响到外面的元素

BFC作用:

1.解决margin重叠的问题(添加独立BFC)
2.解决浮动高度塌陷的问题(在父级添加loverflow:hidden)
3.解决侵占浮动元素的问题(添加overflow:hidden)

IFC:内联(行级〉格式上下文

形成IFC的条件

1.font-sizei
2.line-height
3.height
4.vertical-aligin

IFC特性

1.IFC的元素会在一行中从左至右排列
2.在一行上的所有元素会在该区域形成一个行框
3.行宽的高度为包含框的高度,高度为行框中最高元素的高度iv)浮动的元素不会在行框中,并且浮动元素会压缩行框的宽度
4.行框的宽度容纳不下子元素时,子元素会换下一行显示,并且会产生新行框vi)行框的元素内遵循text-align和vertical-align