Какие теги разрешены внутри <li>? - PullRequest
119 голосов
/ 11 февраля 2011

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

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

Ответы [ 4 ]

184 голосов
/ 11 февраля 2011

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

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

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

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

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

7 голосов
/ 11 февраля 2011

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

4 голосов
/ 11 февраля 2011

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

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

1 голос
/ 11 февраля 2011

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

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

...