我有这段代码:
<ul>
<div>
</div>
</ul>
我觉得浏览器渲染时没有问题。我已经在某处读到了这个'li'应该只用作'ul'的直接孩子。它是否正确?我不能使用div作为UL的直接孩子吗?有没有关于上述混淆的文件?
修改:此链接显示我可以http://css-tricks.com/forums/discussion/11593/divs-inside-uls/p1
答案 0 :(得分:44)
没有。唯一可能是<ul>
孩子的元素是<li>
。
<!ELEMENT UL - - (LI)+ -- unordered list -->
(另见how to read a content model definition in a DTD)
内容模型: 零个或多个li元素。
答案 1 :(得分:6)
对于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
答案 2 :(得分:4)
不能将div嵌套在元素内,只有&lt;李&GT;可以用作子元素。而不是在ul元素内包装div。你可以做这样的事情
<ul class="class1">
<li class="child1">
<ul>
<li>item1</li>
<li>item2</li>
<li>item3</li>
</ul>
</li>
<ul>
答案 3 :(得分:3)
没有。如果你想要有效的标记,div就不应该在里面,对不起。 一些现代浏览器将在打开div之前“自动关闭”ul标签,因此请注意
答案 4 :(得分:3)
你可以在ul-> li -> div
之下使用div标签,因为你只能在ul标签后使用li标签,你的代码运行正常但是会有验证错误
所以你可以像这样使用
<ul>
<li>
<div></div>
</li>
</ul>
答案 5 :(得分:1)
HTML unordered list element <ul>
表示无序的项目列表,即没有数字排序的项目集合,它们在列表中的顺序毫无意义。通常,无序列表项目使用子弹显示,子弹可以是几种形式,如点,圆或平方。子弹样式未在页面的HTML描述中定义,而是在其关联的CSS中使用list-style-type属性定义。
允许的内容:
zero or more <li> elements