Html ul的允许子元素
我正在维护一个旧应用程序,遇到以下代码:Html ul的允许子元素,html,Html,我正在维护一个旧应用程序,遇到以下代码: <ul> <li>...</li> <li>...</li> <li>...</li> <li>...</li> <li>...</li> <div> <li>...</li> <li>...</li>
<ul>
<li>...</li>
<li>...</li>
<li>...</li>
<li>...</li>
<li>...</li>
<div>
<li>...</li>
<li>...</li>
</div>
</ul>
我以前从未见过div
标记作为ul
元素的子元素。HTML在浏览器中呈现良好
这是有效的HTML吗?我的直觉是这是一个奇怪的用法。然而,这也许是完全正常和有效的?在
ul
元素中嵌套div
元素是否合适?您是赞成还是反对这一点?它在任何版本的HTML中都无效,请参见例如
不过,浏览器允许它,并对其进行解析,使div
成为ul
的子项,并且允许您对div
进行样式设置。这可能就是使用此标记的原因。您可以使用它进行检查。错误:
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>").
所述元素不允许出现在您放置它的上下文中;其他提到的元素是唯一既允许存在又可以包含提到的元素的元素。这可能意味着您需要一个包含元素,或者您可能忘记关闭前一个元素。
出现此消息的一个可能原因是您试图将块级元素(如“”或“)放入内联元素(如“、”或“)中。
HTML(
)表示无序的项目列表,即没有数字顺序的项目集合,它们在列表中的顺序没有意义。通常,无序列表项会显示一个项目符号,它可以有几种形式,如点、圆或正方形。项目符号样式不是在页面的HTML描述中定义的,而是使用列表样式类型属性在其关联的CSS中定义的
允许的内容
零个或多个元素,最终与和
元素混合
用法示例:
<ul>
<li>first item</li>
<li>second item</li>
<li>third item</li>
</ul>
- 第一项
- 第二项
- 第三项
您可以在内使用标记,如下所示:
<ul>
<li>first item</li>
<li>second item</li>
<li>
third item
<div>Third Item Contente</div>
</li>
</ul>
- 第一项
- 第二项
-
第三项
第三项内容
据我所知,这是一种无效的用法(这并不意味着它不会在浏览器中按预期呈现),但您可以随时检查html的有效性@you coukd使用两个列表,因为您在“li”列表中不能有一个“div”。