18910140161

HTML-谁负责为'body'元素建立格式上下文?-堆栈溢出

顺晟科技

2022-10-19 13:35:56

93

我正在阅读CSS2.1规范以了解CSS的可视化格式模型。这个概念让我很困惑,似乎没有更直观地解释它的文章。

我的观点是谁负责为元素建立初始格式化上下文。当两个s放置在的内部时,它们会垂直地相互堆叠,如下所示:

body

因为元素由两个块级框组成,并且它们是垂直堆叠的,所以两个框似乎参与了块格式设置上下文。在这种情况下,元素充当块容器盒。我不明白的是谁建立了块格式化上下文。

起初,我认为任何元素都可以自己建立块/内联格式上下文。但读了下面的文章后,我意识到事实并非如此。当然,(或etc)不是浮动、绝对定位或不是块盒的块容器,等等:

不是块框的浮动、绝对定位元素、块容器(如内联块、表单元格和表标题),以及具有“溢出”而不是“可见”的块框(除非该值已传播到视口),为其内容建立新的块格式上下文。


更新:我在w3c/csswg-drafts中报告了此问题。


顺晟科技:

body元素充当block容器盒。

不,不是。我们可以通过使用float元素轻松地实现它:

浮点数溢出了body元素,所以这个浮点数不是在创建BFC,而是元素在创建BFC。您的div是元素创建的BFC的一部分。

如果将其添加到body,则将创建一个BFC,并且浮点的行为将不同:

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航