如何修复<li>标签</li>之间的“div”标签

时间:2012-02-09 17:15:33

标签: html css

我正在尝试使用Dreamweaver订购一些使用li标签创建的行。明确:两者都做得很好,在Dreamweaver中看起来很好。但是当我验证代码时,我遇到了类似的错误:

Line 65, Column 53: document type does not allow element "div" here; assuming missing "li" start-tag
<div style="clear: both; background: none; "></div>
Line 73, Column 12: document type does not allow element "li" here; missing one of "ul", "ol", "menu", "dir" start-tag
<li>

我的代码在这里:http://sudrap.org/paste/text/90799/

4 个答案:

答案 0 :(得分:2)

使用div语义不正确。

ulol元素只能将li作为子节点。 li可能有其他类型的元素。

CSS伪选择器:after应该在这里为你做好准备。

或者你可以使用它的另一种变体,但我认为这符合你要求的费用。

试试这个: li:after {clear: both; }

答案 1 :(得分:1)

您只需将style="clear:both;"添加到<li>,然后一起删除有问题的<div>

我不建议使用CSS li:after {},因为该选择器不兼容跨浏览器。

答案 2 :(得分:0)

div如果要成为li代码

的子代,则需要位于ul代码内

答案 3 :(得分:0)

标记<li>是内联元素,<div>是块元素。

阻止:形成单独块的元素。

内嵌:与内容的其余部分保持内联的元素。

因此,从理论上讲,内联元素中不存在块元素。但理论上只是因为在实践中,浏览器将此解释为正常。

提示:不要担心W3C验证!