我知道DIV
里面LI
是不允许的,但我最近在许多“大”网站上看到它,比如Smashing Magazine、Web Designer Wall ...等。
我试图验证网站,它们有错误,但没有任何关于DIV
?LI
!
那么我可以在里面使用它LI
,而且我需要它是有效的吗?
我知道DIV
里面LI
是不允许的,但我最近在许多“大”网站上看到它,比如Smashing Magazine、Web Designer Wall ...等。
我试图验证网站,它们有错误,但没有任何关于DIV
?LI
!
那么我可以在里面使用它LI
,而且我需要它是有效的吗?
是的,根据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>
作为附录:在 HTML 5 之前,虽然 li 中的 div 有效,但 dl、dd 或 dt 中的 div 无效!
如果您查看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
(根据 w3.org 的 XHTML 1.0 Strict DTD)。
如果我没记错的话, li 内的 div曾经是无效的。
@Flower @Superstringcheese Div 应该在语义上定义文档的一部分,但它实际上已经失去了这个角色。然而,Span 应该包含文本。
我知道如果你想让菜单项的整个框可点击,你会想要这样做。我曾经在“a”标签中插入一个“li”标签来做到这一点,但这似乎更有效。
我从网页设计领域开始,我在 LI 中使用了 DIV,语义没有问题。我认为列表中不允许 DIV,这意味着您不能将 DIV 放入 UL 中,但是将其插入 LI 上没有问题(因为 LI 只是列表项哈哈)我遇到的问题是有时 DIV 的行为与平时有些不同,但没有什么是我们优秀的 CSS 无法处理的哈哈。无论如何,对不起我的英语不好,如果我的回答没有帮助哈哈祝你好运!