¿Debería ol/ul estar dentro o fuera de <p>?

Resuelto dynamic asked hace 13 años • 5 respuestas

¿Cuál cumple con el estándar entre estos dos?

<p>Text text text ...
    <ol>
        <li>First element</li>
    </ol>
</p>
<p>
    Other text text ...
</p>

O

<p>
    Text text text ...
</p>
<ol>
    <li>First element</li>
</ol>
<p>
    Other text text ...
</p>
dynamic avatar Apr 16 '11 02:04 dynamic
Aceptado

La respuesta corta es que ollos elementos no están permitidos legalmente dentro de plos elementos.

Para ver por qué, ¡vamos a las especificaciones ! Si se siente cómodo con la especificación HTML, responderá muchas de sus preguntas y curiosidades. Quieres saber si un olpuede vivir dentro de un p. Entonces…

4.5.1 El pelemento :

Categorías: Contenido fluido , Contenido palpable .
Modelo de contenido: contenido de fraseo .


4.5.5 El olelemento :

Categorías: Contenido fluido .
Modelo de contenido : Cero o más li y elementos de soporte de scripts .

La primera parte dice que plos elementos solo pueden contener contenido de fraseo (que son elementos "en línea" como spany strong).

La segunda parte dice que ollos s son contenido fluido (elementos de "bloque" como py div). Por lo tanto, no se pueden usar dentro de un archivo p.


ols y other flow contentse pueden usar en algunos otros elementos como div:

4.5.13 El divelemento :

Categorías: Contenido fluido , Contenido palpable .
Modelo de contenido: contenido fluido .

s4y avatar Apr 15 '2011 20:04 s4y

El segundo. El primero no es válido.

  • Un párrafo no puede contener una lista.
  • Una lista no puede contener un párrafo a menos que ese párrafo esté contenido en su totalidad dentro de un único elemento de la lista.

Un navegador lo manejará así:

<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 -->
Quentin avatar Apr 15 '2011 19:04 Quentin