这两者之间是否符合标准?
<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>
答案 0 :(得分:366)
简短的回答是ol
元素在p
元素内不合法允许。
要了解原因,请go to the spec!如果您对HTML规范感到满意,它将回答您的许多问题和好奇心。您想知道ol
是否可以居住在p
内。所以......
分类: Flow content,Palpable content。
内容模型: Phrasing content。
分类: Flow content。
内容模型:零个或多个li和script-supporting元素。
第一部分说p
个元素只能包含phrasing content(“内联”元素,如span
和strong
)。
第二部分说ol
是flow content(“阻止”元素,如p
和div
)。所以他们不能在p
内使用。
ol
和其他flow content
可用于div
等其他元素:
分类: Flow content,Palpable content。
内容模型: Flow content。
答案 1 :(得分:38)
第二个。第一个是无效的。
浏览器会像这样处理它:
<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 -->
答案 2 :(得分:10)
来这里http://validator.w3.org/ 上传你的html文件,它会告诉你什么是有效的,什么不是。
答案 3 :(得分:8)
实际上你应该只在p
内添加内联元素,所以在你的情况下ol
更好吗
答案 4 :(得分:5)
<p>tetxetextex</p>
<ol><li>first element</li></ol>
<p>other textetxeettx</p>
因为<p>
和<ol>
都是呈现为块的元素。