Css 内联匿名框?

Css 内联匿名框?,css,Css,我对这个内容有疑问 以下标记呈现为块+内联+块 <p>In 1912, <em>Titanic</em> sank on her maiden voyage.</p> 1912年,泰坦尼克号在处女航中沉没 铬: In 1912, - display: block <em>Titanic</em> - display:inline sank on her maiden voyage. - display:block 1

我对这个内容有疑问

以下标记呈现为块+内联+块

<p>In 1912, <em>Titanic</em> sank on her maiden voyage.</p>
1912年,泰坦尼克号在处女航中沉没

铬:

In 1912, - display: block
<em>Titanic</em> - display:inline
 sank on her maiden voyage. - display:block
1912年,-显示:块
泰坦尼克号-显示:内联
在她的处女航中沉没了显示:块
Sitepoint链接说,应该内联两个匿名框(第一个和第三个),以保持p中的所有框相同。但chrome将p中的框渲染为块和内联的混合

依照

块级别框可以包含行框或块级别框,但不能同时包含两者。如有必要,属于此框元素的任何行框都将被包装在一个或多个(尽可能少)匿名框中,并带有“显示”的“块”

根据W3C的建议,sitepoint内容似乎是正确的,但我在chrome上得到了块级框(p)中的混合框

还有一点建议是,匿名框应该只被屏蔽,这与sitepoint材料相矛盾

依照

请注意,此模块中定义的匿名框都是块级别的,但其他模块中定义的匿名框可能不同

我的问题是:

1) 是否所有3个框都是内联的?(浏览器渲染块+内联+块)

2) W3C标准中提到了内联匿名框吗?

中的第9.2.2.1节实际上有一个与您几乎相同的示例,例如

直接包含在块容器元素(而不是内联元素)中的任何文本都必须视为匿名内联元素

在具有如下HTML标记的文档中:

一些强调的文本

生成一个块框,其中包含几个内联框。“强调”框是由内联元素(
)生成的内联框,但其他框(“部分”和“文本”)是由块级元素(
)生成的内联框。后者称为匿名内联框,因为它们没有关联的内联级别元素


你在Chrome的开发者工具中看到的是匿名框所在元素的显示值,而不是内联框本身的显示值。它们实际上都是内联框,但是在1912年,
“在她的处女航中沉没”
将是匿名的,而
元素将创建一个非匿名的内联框,因为它是一个内联级元素。

em
元素之前和之后的文本被包装在匿名的内联框中

如果您看到这一点,所有文本都会在一行内联显示。em是一个内联元素,“在1912年”被包装在一个内联匿名框中,就像“在她的处女航中沉没”一样

调试器将按原样显示
p
元素
display:block
。但是,调试器不会显示匿名框,因此您不会看到
em
前后的文本实际上是内联的。但是您可以看到它,就像它们是
display:block
一样,它们将是元素的宽度,并将
em
推到新行上

规范中提到了匿名内联框:

“将创建一个内联框”应该是“将创建一个内联框”。“线路盒”是另一种东西。第一个匿名内联框将创建一个行框。根据包含的块框的宽度,可以创建更多的线框。
<p>Some <em>emphasized</em> text</p>