这两者中哪一个是标准兼容的?
<p>Text text text ...
<ol>
<li>First element</li>
</ol>
</p>
<p>
Other text text ...
</p>
OR
<p>
Text text text ...
</p>
<ol>
<li>First element</li>
</ol>
<p>
Other text text ...
</p>
这两者中哪一个是标准兼容的?
<p>Text text text ...
<ol>
<li>First element</li>
</ol>
</p>
<p>
Other text text ...
</p>
OR
<p>
Text text text ...
</p>
<ol>
<li>First element</li>
</ol>
<p>
Other text text ...
</p>
第二。第一个无效。
段落不能包含列表。 列表不能包含段落,除非该段落完全包含在单个列表项中。
浏览器会这样处理它:
<p>tetxtextextete
<!-- Start of paragraph -->
<ol>
<!-- Start of ordered list. Paragraphs cannot contain lists. Insert </p> -->
<li>first element</li></ol>
<!-- A list item element. End of list -->
</p>
<!-- End of paragraph, but not inside paragraph, discard this tag to recover from the error -->
<p>other textetxet</p>
<!-- Another paragraph -->
<p>tetxetextex</p>
<ol><li>first element</li></ol>
<p>other textetxeettx</p>
因为<p>和<ol>都是呈现为块的元素。
简单的回答是ol元素在p元素中是不被允许的。
要了解原因,让我们看看规范!如果您熟悉HTML规范,它将回答您的许多问题和好奇。你想知道ol是否能住在p里面,所以…
4.5.1 p元素: 类别:流内容,可触及内容。 内容模型:措辞内容。
4.5.5 ol元素: 类别:流内容。 内容模型:零或多个li和脚本支持元素。
第一部分说p元素只能包含短语内容(即“内联”元素,如span和strong)。
第二部分说ols是流内容(“块”元素,如p和div)。所以它们不能用在p里面。
Ols和其他流内容可以在一些其他元素中使用,如div:
4.5.13 div元素: 类别:流内容,可触及内容。 内容模型:流内容。