我正在维护一个遗留应用程序,并遇到了以下代码:
<ul>
<li>...</li>
<li>...</li>
<li>...</li>
<li>...</li>
<li>...</li>
<div>
<li>...</li>
<li>...</li>
</div>
</ul>
我以前从未见过div
标记作为ul
元素的子元素。HTML在浏览器中呈现得很好。
这是有效的HTML吗?我的直觉是这是一种奇怪的用法。然而,也许这是完全正常和有效的?在ul
元素中嵌套div
元素是否合适?你的建议是支持还是反对?
发布于 2012-09-03 12:55:20
它在任何版本的超文本标记语言中都是无效的,参见例如HTML 4.01 on ul
。
但是,浏览器允许这样做,并对其进行解析,以便div
成为ul
的子项,并且它们还允许您对div
进行样式设置。这可能就是使用这个标记的原因。
发布于 2012-09-03 13:05:28
您可以使用http://validator.w3.org/进行检查。
错误:
1.文档类型在此处不允许元素"DIV“;假定缺少"LI”开始标记
2.文档类型在此处不允许元素"LI“;缺少"UL”、"OL“开始标记之一
The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.
One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").
https://stackoverflow.com/questions/12242041
复制相似问题