匿名块盒是否包含行内级元素并创建行内格式化上下文?
关于CSS匿名块盒与行内格式化上下文的疑问解答
规范引用
换行前后的line box被包裹在anonymous block box中,该块级盒成为这些匿名块盒的同级元素。
inline formatting context由不包含块级盒的block container box建立。在inline formatting context中,盒从包含块顶部开始,水平依次排列。
问题解答
1. 上述规范描述是否意味着inline-level elements被包含在anonymous block box中?
是的,但仅存在于特定场景:当块级容器内同时包含块级盒与**行内内容(含inline-level元素、纯文本等)**时,行内内容所在的line box会被包裹进匿名块盒,与块级盒成为同级元素。
如果块级容器内只有行内内容,则不会生成匿名块盒,inline-level元素直接处于该容器建立的行内格式化上下文中。
2. 若上述结论成立,是否每个anonymous block box内部都会创建与“不包含块级盒的block container box”所创建的相同的inline formatting context?
是的。匿名块盒属于block container box,且其内部仅包含行内内容(无块级盒),完全符合行内格式化上下文的创建条件。因此每个这类匿名块盒内部都会建立和普通无块级子元素的块容器盒一致的行内格式化上下文,内部inline-level元素会遵循行内格式化上下文的规则:从包含块顶部开始水平排列,高度由line box决定等。
内容的提问来源于stack exchange,提问作者user19481364
相关产品推荐
相关产品推荐

