Разрешен ли div внутри списка?
Я знаю, что DIV
внутри LI
не разрешено, но в последнее время я видел его на многих "больших" сайтах, таких как Smashing Magazine, Wall Designer Wall... и т.д.
Я пытался проверить сайты, и у них есть ошибки, но ничего о DIV
в LI
?!
Так могу ли я использовать его внутри LI
, и мне нужно, чтобы он был действительным?
Ответы
Ответ 1
Да, это действительно согласно xhtml1-strict.dtd
. Следующий XHTML передает валидацию:
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
</head>
<body>
<ul>
<li><div>test</div></li>
</ul>
</body>
</html>
Ответ 2
В качестве добавления: перед HTML 5, когда div внутри li действителен, div внутри dl, dd или dt не является!
Ответ 3
Если вы посмотрите xhtml1-strict.dtd, вы увидите
<!ELEMENT li %Flow;>
<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
<!ENTITY % block
"p | %heading; | div | %lists; | %blocktext; | fieldset | table">
Таким образом, div
, p
и т.д. могут находиться внутри li
(согласно XHTML 1.0 Strict DTD от w3.org).
Ответ 4
Допустимо размещать div внутри li, даже если это элемент блока (как еще у нас есть вложенные списки?). Я хотел бы видеть ваш источник, почему он не разрешен!
Ответ 5
Если я правильно помню, div внутри li , используемого для, недействителен.
@Flower @Superstringcheese
Div должен семантически определять раздел документа, но он уже практически потерял эту роль. Однако Span должен содержать текст.
Ответ 6
Я вижу, что вы захотите сделать это, если хотите сделать, скажем, всю ячейку элемента меню, которую можно щелкнуть. Я использовал для вставки тега 'li' в теги 'a', чтобы сделать это, но это кажется более правильным.
Ответ 7
Я начинаю в юниверсе webdesign, и я использовал DIV внутри LI, без проблем с семантикой.
Я думаю, что DIVs не разрешены в списках, это означает, что вы не можете поместить DIV внутри UL, но у него нет проблем с вставкой его в LI (потому что LI - это только элементы списка haha)
Проблема, с которой я столкнулся, заключается в том, что иногда DIV ведет себя несколько иначе, чем обычный, но ничего, что наш хороший CSS не может обрабатывать ха-ха.
Во всяком случае, извините за мой плохой английский, и если мой ответ не помог хаха
удачи!