Каковы допустимые теги внутри <li>?

Я искал список тегов, доступных внутри <li>, но не смог найти никакой ссылки.

Возможно ли, что в них разрешен какой-либо совместимый со стандартами блочный элемент HTML 4+?

Ответ 1

TL; DR: a <li> может содержать любой элемент, действительный в <body>.

В спецификации HTML 4.01 для списков вы найдете соответствующий отрывок DTD:

<!ELEMENT LI - O (%flow;)* -- list item -->

Это указывает, что <li> может содержать поток контента, который является совокупностью всех block и inline.

спецификация HTML5 для <li> та же, что и для любого содержимое потока.

Ответ 2

Это элемент уровня блока, так что почти ничего не происходит. Проблема возникает только тогда, когда вы помещаете элементы уровня блока внутри встроенных.

Ответ 3

Да, в значительной степени. Вы можете иметь списки внутри списков (либо внутри <li> либо просто свободно внутри <ol>/<ul> внутренний список должен быть внутри <li>), блочные элементы и встроенные элементы.

Для меня не имеет большого смысла помещать <table> в <li>, но даже это все еще действует.

Ответ 4

Вы можете использовать службу проверки валидности W3C для проверки своих случаев, чтобы узнать, действительна ли ваша разметка.

Этот валидатор проверяет разметку действительность веб-документов в HTML, XHTML, SMIL, MathML и т.д.