Respuestas:
TL; DR : un <li>
puede contener cualquier elemento que sea válido en <body>
.
En la especificación HTML 4.01 para listas , encontrará el extracto relevante de la DTD:
<!ELEMENT LI - O (%flow;)* -- list item -->
Esto especifica que un contenido de flujo<li>
puede contener , que es la colección de todos los elementos de bloque y en línea .
La especificación HTML5 para un<li>
es la misma en que también permite cualquier contenido de flujo .
Es un elemento de nivel de bloque, así que casi todo vale. Los problemas solo se presentan cuando se colocan elementos de nivel de bloque dentro de elementos en línea.
pretty much
todo vale". Hay una respuesta de 171 votos en esta pregunta de 7 años, así que creo que la gente estará bien
Sí, más o menos. Puede tener listas dentro de listas ( ya sea dentro la lista interna debe estar dentro de<li>
o simplemente sueltas dentro de <ol>
/ <ul>
<li>
), elementos de bloque y elementos en línea.
Para mí no tendría mucho sentido poner un <table>
dentro de <li>
, pero incluso eso sigue siendo válido.
Puede utilizar el Servicio de validación de marcado del W3C para probar sus casos y saber si su marcado es válido o no.
Este validador verifica la validez de marcado de los documentos web en HTML, XHTML, SMIL, MathML, etc.