Quelle est la norme conforme entre ces deux?
<p>Text text text ...
<ol>
<li>First element</li>
</ol>
</p>
<p>
Other text text ...
</p>
OU
<p>
Text text text ...
</p>
<ol>
<li>First element</li>
</ol>
<p>
Other text text ...
</p>
Réponses:
La réponse courte est que les
ol
éléments ne sont pas légalement autorisés à l'intérieur desp
éléments.Pour voir pourquoi, passons à la spécification ! Si vous pouvez vous familiariser avec la spécification HTML, elle répondra à plusieurs de vos questions et curiosités. Vous voulez savoir si un
ol
peut vivre à l'intérieur d'unp
. Alors…La première partie dit que les
p
éléments ne peuvent contenir que du contenu de phrasé (qui sont des éléments «en ligne» commespan
etstrong
).La deuxième partie dit que les
ol
s sont du contenu de flux (des éléments de «bloc» commep
etdiv
). Ils ne peuvent donc pas être utilisés à l'intérieur d'unp
.ol
s et autresflow content
peuvent être utilisés dans certains autres éléments commediv
:la source
4.4.1 The p element
, l'auteur parle même defantastic sentences
quelque chose comme ça.innerHTML
), il est régénéré à partir de l'arborescence des éléments. Donc, Chrome n'ajuste pas le HTML autant que la création d'une arborescence valide à partir du HTML d'origine, puis la génération d'un nouveau HTML à partir de cette arborescence.La deuxième. Le premier n'est pas valide.
Un navigateur le traitera comme ceci:
la source
Allez ici http://validator.w3.org/ téléchargez votre fichier html et il vous dira ce qui est valide et ce qui ne l'est pas.
la source
en fait, vous ne devriez mettre que des éléments en ligne à l'intérieur du
p
, donc dans votre cas,ol
c'est mieux à l'extérieurla source
Parce que les deux
<p>
et<ol>
sont des éléments rendus en bloc.la source