¿Lista de elementos HTML5 que se pueden anidar dentro del elemento P?

93

Estoy tratando de calcular todos los elementos HTML5 válidos que se pueden anidar dentro de los elementos de párrafo de modo que el validador w3 no muestre ningún error. Quiero decir, estoy tratando de calcular todas las etiquetas que pueden reemplazar los puntos en el siguiente código de modo que el validador w3 no muestre ningún error:

<p>...</p>

¿Existe tal lista disponible? Intenté buscar en Google sin suerte.

Incluso si la lista inversa está disponible, es decir, elementos que no se pueden anidar dentro de elementos de párrafo, es lo suficientemente bueno para mí.

Aprendiz solitario
fuente
posible duplicado de: stackoverflow.com/questions/4967976/… (sin marcar): cualquier respuesta decente a eso responderá cómo leer la especificación HTML y, por lo tanto, también responderá a esto.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Respuestas:

135

La especificación HTML5 nos dice que el <p>modelo de contenido del elemento es contenido de redacción . El contenido de redacción está definido por la especificación:

3.2.5.1.5 Contenido de redacción

El contenido de redacción es el texto del documento, así como los elementos que marcan ese texto en el nivel de un párrafo. Corridas de redacción de contenido de párrafos.

  • a (si contiene solo contenido de redacción)
  • abbr
  • area(si es descendiente de un mapelemento)
  • audio
  • b
  • bdi
  • bdo
  • br
  • button
  • canvas
  • cite
  • code
  • command
  • datalist
  • del (si contiene solo contenido de redacción)
  • dfn
  • em
  • embed
  • i
  • iframe
  • img
  • input
  • ins (si contiene solo contenido de redacción)
  • kbd
  • keygen
  • label
  • map (si contiene solo contenido de redacción)
  • mark
  • math
  • meter
  • noscript
  • object
  • output
  • progress
  • q
  • ruby
  • s
  • samp
  • script
  • select
  • small
  • span
  • strong
  • sub
  • sup
  • svg
  • textarea
  • time
  • u
  • var
  • video
  • wbr
  • texto
  • Matt Ball
    fuente
    ¿Por qué esto se valida correctamente en la página del validador html5.validator.nu? <p>Hello world<em>Test</em><img src="http://google.com/asd/cp" alt="Description"/></p>
    Gabriel Rodríguez
    @GabrielRodriguez Esperaría que eso valide. ¿Por qué esperas que no sea así?
    Matt Ball
    ooops, perdón no importa, porque pensé que <img>no estaba en la lista, pero ahora veo que sí. lo siento.
    Gabriel Rodríguez
    2
    Debo señalar que los subelementos también deberían estar en esa lista. Por ejemplo, el <option>elemento está debajo del <select>elemento, por lo que también debería ser legal entre <p>y</p>
    Sablefoste
    Los subelementos no deben estar en esta lista porque esta es una lista solo de elementos permitidos dentro de <p>elementos, no de elementos permitidos dentro de elementos permitidos dentro de <p>elementos ni de elementos permitidos dentro de elementos permitidos dentro de elementos permitidos dentro <p>elementos. Si desea saber qué está permitido con los elementos enumerados, haga clic en el nombre del elemento; es un enlace a la definición de ese elemento que tiene una lista de los elementos permitidos dentro de él.
    Heretic Monkey