Могу ли я использовать div внутри элемента списка? - PullRequest
56 голосов
/ 23 июня 2011

Почему следующий код действителен, когда я использую <div> внутри <li>?

<ul>
    <li class="aschild">
        <div class="nav">Test</div>
    </li>
</ul>

Ответы [ 5 ]

58 голосов
/ 23 июня 2011

Да, вы можете использовать div внутри li, и он будет подтвержден.

<!ELEMENT li %Flow;>
<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
<!ENTITY % block     "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
40 голосов
/ 23 июня 2011

Внутри <li> вы можете иметь все, что можете естественным образом поместить в <div>.В этом смысле они ничем не отличаются.

Это должно быть допустимо и в HTML4, XHTML и HTML5.

Это допустимо НЕ (поэтому источники, которые вы нашлио "нет div в списках" может относиться к этой ситуации):

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

Итак: Списки (ul, ol) могут иметь только li s в качестве ихдети.Но у li детей может быть что угодно.

12 голосов
/ 23 июня 2011

Поскольку <li> является блочным элементом, а не встроенным элементом, таким как <span> или <a>.

7 голосов
/ 23 июня 2011

<li> - это элемент блока, и он будет отлично работать с другими элементами блока внутри.

4 голосов
/ 23 июня 2011

Да, вы можете.Столько, сколько вы хотите.

...