Какие теги разрешены внутри <li>?

133

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

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

petsagouris
источник

Ответы:

199

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

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

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

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

Спецификация HTML5 для объекта такая<li> же, поскольку допускает любой потоковый контент .

Rotora
источник
7

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

Скотт Браун
источник
3
P-теги являются элементами уровня блока, но не могут содержать элементы уровня блока. «Все идет» не совсем верно в отношении уровня блоков: stackoverflow.com/questions/8397852/…
HoldOffHunger 05
Следовательно, « pretty muchвсе идет». На этот вопрос семилетней давности проголосовали 171 человек, поэтому я думаю, что люди будут в порядке
Скотт Браун
4

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

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

Натан Макиннес
источник
1

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

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

Sarfraz
источник