Каковы допустимые теги внутри <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 и т.д.