Должен ли ol / ul быть внутри или снаружи?



который стандарт соответствует между этими двумя ?



<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>
470   5  

5 ответов:

короткий ответ:ol элементы юридически не допускаются внутрь p элементы.

чтобы понять почему, давайте перейти к спецификации! Если вы можете освоиться со спецификацией HTML, она ответит на многие Ваши вопросы и любопытства. Вы хотите знать, если ol может жить внутри p. Так что...

4.5.1 в p элемент:

категории:поток содержание,пальпируется контент.
содержание модели:формулировка содержания.


4.5.5 в ol элемент:

категории:содержимое потока.
модель контент: ноль или больше ли и сценарий-вспомогательная элементы.

первая часть говорит, что p элементы могут содержать только формулировка содержания (которые являются "встроенными" элементами, такими как span и strong).

вторая часть говорит olс содержимое потока ("блок" элементы, такие как p и div). Так они не могу используется внутри p.


olи другие flow content может использоваться в некоторых других элементах, таких как div:

4.5.13 элемент div:

категории:содержимое потока,пальпируется контент.
содержание модели:содержимое потока.

второй. Первый является недействительным.

  • параграф не может содержать список.
  • список не может содержать абзац, если этот абзац не содержится полностью в одном элементе списка.

браузер будет обрабатывать его так:

<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> элемент отображается как блочный.

Comments

    Ничего не найдено.