div里面的列表是否允许?

我知道LI里面的DIV是不允许的,但是我最近在很多“大”的网站上看到过,例如:Smashing Magazine,Web Designer Wall等等。我尝试validation网站,他们有错误,但是没有关于div在李?

那么我可以在LI里面使用它吗?我需要它是有效的吗?

是的,根据xhtml1-strict.dtd是有效的。 以下XHTML通过validation :

 <?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里面有一个里面的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"> 

因此divp等可以在里面(根据来自w3.org的XHTML 1.0 Strict DTD)。

把div放在里面是可以接受的,即使它是一个块元素(我们还有什么嵌套列表?)。 我想看看你的来源为什么不被允许!

如果我没有记错,里面的一个div 曾经是无效的。

@Flower @Superstringcheese Div应该在语义上定义一个文档的一个部分,但是它实际上已经失去了这个angular色。 跨度应该包含文本。

我发现如果你想让整个菜单项可点击的话,你会想要这样做。 我曾经在'a'标签中插入'li'标签来做到这一点,但这似乎更有效。

我开始在网页devise领域,并且在LI中使用了DIV而没有语义上的问题。 我认为DIV是不能在列表上的,这意味着你不能把一个DIV放在UL里面,但是把它插在LI上是没问题的(因为LI只是列表项哈哈)我一直在遇到的问题有时DIV的performance与往常有些不同,但是我们的好CSS不能处理哈哈。 无论如何,抱歉我的英语不好,如果我的回答没有帮助哈哈,祝你好运!