问题描述
|
两者之间哪个符合标准?
<p>Text text text ...
<ol>
<li>First element</li>
</ol>
</p>
<p>
Other text text ...
</p>
要么
<p>
Text text text ...
</p>
<ol>
<li>First element</li>
</ol>
<p>
Other text text ...
</p>
解决方法
简短的答案是,
ol
元素在法律上不允许在ѭ3legal元素内。
要了解原因,让我们看一下规格!如果您对HTML规范感到满意,它将回答您的许多问题和好奇心。您想知道ol
是否可以住在p
中。所以…
4.5.1p
元素:
类别:流内容,可触知的内容。
内容模型:短语内容。
4.5.5ol
元素:
分类:流内容。
内容模型:零个或多个li和脚本支持元素。
第一部分说“ 3”个元素只能包含短语内容(它们是“内联”元素,例如“ 9”和“ 10”)。
第二部分说“ 2”是流的内容(“ 3”和“ 13”等“块”元素)。因此,它们不能在ѭ3内使用。
ol
和其他flow content
可以在in13ѭ等其他元素中使用:
4.5.13ѭ13元素:
类别:流内容,可触知的内容。
内容模型:流程内容。
,第二。第一个无效。
段落不能包含列表。
列表不能包含段落,除非该段落完全包含在单个列表项中。
浏览器将像这样处理它:
<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 -->
,转到此处http://validator.w3.org/
上传您的html文件,它将告诉您什么是有效的,什么不是。
,实际上,您只应在p
内放置内联元素,因此在您的情况下ol
会更好
,<p>tetxetextex</p>
<ol><li>first element</li></ol>
<p>other textetxeettx</p>
因为<p>
和<ol>
都被渲染为块元素。