¿Puedo usar div como hijo directo de UL?


Tengo este código:

<ul>
    <div>
   </div>
</ul>

No siento ningún problema en mi navegador renderizándolo. He leído esto también en alguna parte que ' li 'solo debe usarse como hijo directo de' ul. ¿Es correcto? ¿No puedo usar div como hijo directo de UL? ¿Hay alguna documentación para la confusión anterior?

Editar: Este enlace dice que puedo http://css-tricks.com/forums/discussion/11593/divs-inside-uls/p1

Author: Rocky Singh, 2012-08-01

6 answers

No. El único elemento que puede ser hijo de <ul> es <li>.

HTML 4:

<!ELEMENT UL - - (LI)+                 -- unordered list -->

(Véase también cómo leer una definición de modelo de contenido en una DTD)

HTML 5:

Modelo de contenido: Cero o más elementos li.

 37
Author: Quentin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-01 08:44:06

Para HTML 5:

Http://www.w3.org/TR/html-markup/ul.html

Contenidos permitidos

Cero o más elementos li

Para HTML 4:

Http://www.w3.org/TR/html401/struct/lists.html#h-10.2

<!ELEMENT UL - - (LI)+

EDITAR:

Me olvido de los otros HTML5 :D (que tienen la misma especificación en esto que el W3C uno)

Http://www.whatwg.org/specs/web-apps/current-work/multipage/grouping-content.html#the-ul-element

 5
Author: Shikiryu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-01 08:45:23

No. Si desea un marcado válido , un div nunca debe estar dentro de un, lo siento. Algunos navegadores modernos "autoclose" la etiqueta ul antes de abrir el div así que ten cuidado con eso

 3
Author: Andy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-01 08:44:11

No el div no se puede anidar dentro del elemento, solo se puede usar como elemento hijo. en lugar de envolver div dentro del elemento ul. puedes hacer algo como esto

<ul class="class1">
 <li class="child1">
   <ul>
     <li>item1</li>
     <li>item2</li>
     <li>item3</li>
   </ul>
 </li>
<ul> 
 3
Author: Rabia Sohail,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-04 05:11:53

Puede usar la etiqueta div bajo así ul-> li -> div porque solo puede usar la etiqueta li después de la etiqueta ul, su código se ejecutará bien, pero habría un error de validación

Así que puedes usar así

 <ul>
     <li>
         <div></div>
     </li>
 </ul>
 2
Author: jitendra varshney,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-16 04:54:47

El elemento de lista HTML desordenado <ul> representa una lista desordenada de artículos, es decir, una colección de artículos que no tienen un orden numérico, y su orden en la lista no tiene sentido. Por lo general, los elementos de la lista desordenada se muestran con una viñeta, que puede ser de varias formas, como un punto, un círculo o un cuadrado. El estilo de viñeta no está definido en la descripción HTML de la página, sino en su CSS asociado, utilizando la propiedad list-style-type.

Permitido contenido:

zero or more <li> elements
 1
Author: Ahsan Khurshid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-01 08:47:28