Welches ist standardkonform zwischen diesen beiden?
<p>Text text text ...
<ol>
<li>First element</li>
</ol>
</p>
<p>
Other text text ...
</p>
ODER
<p>
Text text text ...
</p>
<ol>
<li>First element</li>
</ol>
<p>
Other text text ...
</p>
Antworten:
Die kurze Antwort lautet, dass
ol
Elemente innerhalb vonp
Elementen gesetzlich nicht zulässig sind .Um zu sehen warum, gehen wir zur Spezifikation ! Wenn Sie sich mit der HTML-Spezifikation vertraut machen können, werden viele Ihrer Fragen und Neugierde beantwortet. Sie möchten wissen, ob ein
ol
in einem leben kannp
. So…Der erste Teil besagt, dass
p
Elemente nur Phraseninhalte enthalten können (die "Inline" -Elemente wiespan
und sindstrong
).Der zweite Teil , sagt
ol
s sind Strömungs Inhalt ( „block“ Elemente wiep
unddiv
). Sie können also nicht in einem verwendet werdenp
.ol
s und andereflow content
können in einigen anderen Elementen verwendet werden, wie zum Beispieldiv
:quelle
4.4.1 The p element
, der Autor spricht sogar darüberfantastic sentences
oder so etwas.innerHTML
), wird es aus dem Elementbaum neu generiert. Chrome passt den HTML-Code also nicht so sehr an, sondern erstellt einen gültigen Baum aus dem ursprünglichen HTML-Code und generiert dann neuen HTML-Code aus diesem Baum.Der Zweite. Der erste ist ungültig.
Ein Browser wird damit wie folgt umgehen:
quelle
Gehen Sie hier http://validator.w3.org/ Laden Sie Ihre HTML-Datei hoch und Sie erfahren, was gültig ist und was nicht.
quelle
Eigentlich solltest du nur Inline-Elemente in das setzen
p
, also ist es in deinem Fallol
besser draußenquelle
Weil beide
<p>
und<ol>
Elemente als Block gerendert werden.quelle