style - span html5
¿Qué elementos puede contener una etiqueta span en HTML5? (1)
Así que he sido desarrollador de CLI o Cron en PHP durante la mayor parte de mi carrera y ahora estoy aprendiendo por qué no me gustaba el trabajo de UI en la escuela;) Aquí estoy lidiando con la validación de HTML5 y no encuentro una respuesta a una pregunta que es por la curiosidad. Ejecuté la validación W3C HTML5 en mi página de inicio y obtuve varios errores alrededor de un div dentro de un <span>
y eso no está permitido. Intenté cambiar todo <div>
dentro de los tramos por <p>
pero recibí casi el mismo error. http://www.w3schools.com/html5/tag_span.asp no dice explícitamente qué elementos están permitidos dentro de un <span>
y tampoco lo hace el error del validador:
Línea 85, Columna 69: Elemento p no permitido como elemento secundario del elemento en este contexto. (Supresión de más errores de este subárbol).
2 preguntas:
1) ¿Qué elementos, si se permiten, dentro de un <span>
?
2) ¿Dónde puedo hacer referencia para qué elementos están permitidos dentro de otro? He buscado en Google pero no veo nada que tenga un sello "W3C".
Solo los elementos en línea pueden estar contenidos dentro de elementos en línea. span
es un elemento en línea. Entonces, las etiquetas como a
, img
, sup
, etc. pueden ir dentro de un lapso, pero los elementos de nivel de bloque como div
p
no pueden.
ACTUALIZAR
En realidad, los diferentes elementos que por defecto se muestran en línea se comportan de manera diferente. Algunos elementos "en línea" pueden permitir elementos de bloque ( a
por ejemplo), mientras que otros no (como span
).
Si le interesa saber qué puede contener una etiqueta HTML, su fuente más oficial es la página WHATWG sobre elementos HTML. Puede verificar cualquier elemento HTML y ver qué contenido está permitido (consulte ''Modelo de contenido'' para cada elemento):
http://www.whatwg.org/specs/web-apps/current-work/multipage/#auto-toc-4
Aquí está la definición de la etiqueta span, que indica que solo se permite el contenido ''fraseo''.