51

我有这个代码:

<ul>
   <div>
   </div>
</ul>

我觉得我的浏览器渲染它没有问题。我也在某个地方读过这个,它li应该只用作ul.

它是否正确?我不能div用作 的直接孩子UL吗?是否有任何文件可以解决上述混淆?

编辑:这个链接说我可以http://css-tricks.com/forums/discussion/11593/divs-inside-uls/p1

4

6 回答 6

51

不,唯一可能是子元素的元素<ul><li>

HTML 4

<!ELEMENT UL - - (LI)+                 -- unordered list -->

(另请参阅如何阅读 DTD 中的内容模型定义

HTML 5

内容模型:零个或多个 li 元素。

于 2012-08-01T08:44:06.153 回答
7

对于 HTML 5:

http://www.w3.org/TR/html-markup/ul.html

允许的内容

零个或多个 li 元素

对于 HTML 4:

http://www.w3.org/TR/html401/struct/lists.html#h-10.2

<!ELEMENT UL - - (LI)+

编辑 :

我忘记了另一个 HTML5 :D (这与 W3C 的规范相同)

http://www.whatwg.org/specs/web-apps/current-work/multipage/grouping-content.html#the-ul-element

于 2012-08-01T08:45:23.690 回答
5

您可以像这样使用 div 标签, ul-> li -> div因为您只能在 ul 标签之后使用 li 标签,您的代码将运行良好但会出现验证错误

所以你可以像这样使用

 <ul>
     <li>
         <div></div>
     </li>
 </ul>
于 2017-02-24T12:28:06.963 回答
5

不,div不能嵌套在元素内,只有<li>可以作为子元素。而不是将 div 包装在 ul 元素中。你可以做这样的事情

<ul class="class1">
 <li class="child1">
   <ul>
     <li>item1</li>
     <li>item2</li>
     <li>item3</li>
   </ul>
 </li>
<ul> 
于 2017-04-04T05:11:53.247 回答
3

不,如果你想要有效的标记,那么 div 永远不应该在 a 中,对不起。一些现代浏览器会在您打开 div 之前“自动关闭” ul 标签,因此请注意这一点

于 2012-08-01T08:44:11.617 回答
1

HTML无序列表元素<ul>表示一个项目的无序列表,即没有数字排序的项目的集合,它们在列表中的顺序是没有意义的。通常,无序列表项用项目符号显示,项目符号可以有多种形式,如点、圆形或方形。项目符号样式未在页面的 HTML 描述中定义,而是在其关联的 CSS 中使用 list-style-type 属性定义。

允许内容:

zero or more <li> elements
于 2012-08-01T08:47:28.870 回答