上一篇忘了说明什么是格式上下文(FC)
FC
Formattinf Context,格式上下文。它定义了框内部的元素渲染规则,比较抽象。
FC 像是一个容器,里面内部包含元素。容器可以隔开里面的额元素和外面的元素,保护内部元素被外部元素影响。
注意,并不是说所有的框都产生 FC,而是符合特定条件才会产生,只有产生了对于的 FC 后才会应用对应渲染规则
IFC(inline Formatting Context)
行内框产生的格式上下文
IFC 规则
1 | 在行内格式化上下文中框一个接一个水平排列,七点是包含块的顶部。 |
行匡
包含那些框的长方形区域,会形成一行,叫行框
行框的宽度由它的包含块和其中的浮动元素决定,高度的确定由行高度计算规则决定
行框的规则
1 | 如果几个行内框在水平方向无法放入一个行框内,它们可以分配在两个或者多个行框垂直堆叠的行框内 |
总结
- 行内元素总会应用 IFC 渲染规则
- 行内元素会应用 IFC 规则渲染,例如「text-align」可以用来居中
- 块框内部,对语文本这类的匿名元素,会产生匿名行框包围,而行框内部就应用 IFC 渲染规则
- 行内框内部,对于那些行内元素,应该应用 IFC 渲染规则
- 另外, 「inline-block」,挥着元素外层生成 IFC(所以这个元素是可以通过「text-align」来水平居中的),当然它内部则是按照 BFC 规则渲染