Могу ли я использовать div внутри элемента списка?

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

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

Ответ 1

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

<!ELEMENT li %Flow;>
<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
<!ENTITY % block     "p | %heading; | div | %lists; | %blocktext; | fieldset | table">

Ответ 2

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

Он должен быть корректным и в HTML4, XHTML и HTML5.

Это NOT допустимо (так что источники, которые вы нашли о "no divs in lists", могут ссылаться на эту ситуацию):

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

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