在li或dl中嵌套div的HTML5标准
我知道在HTML5中不允许在li中嵌套div,尽管您可以,而且它可以工作。这是否意味着我不应该使用它?dls中嵌套div的标准是什么?完全允许在在li或dl中嵌套div的HTML5标准,html,Html,我知道在HTML5中不允许在li中嵌套div,尽管您可以,而且它可以工作。这是否意味着我不应该使用它?dls中嵌套div的标准是什么?完全允许在和元素中嵌套元素/元素可能包含流内容,而元素是流内容 规范:此信息不正确-div元素被视为元素,并且非常允许在元素内部使用。您可能将其与ul/ol元素混淆,后者可能只包含相应的lis HTML5的变化是,它不再有块级和内联元素。相反,有一个更复杂的区别 要查看根据HTML5在元素中允许的内容,请参阅特定标记的描述,该部分将告诉您在该特定元素中允许哪些内容
和元素中嵌套
元素<代码>
/
元素可能包含流内容,而
元素是流内容
规范:此信息不正确-div
元素被视为元素,并且非常允许在元素内部使用。您可能将其与ul
/ol
元素混淆,后者可能只包含相应的li
s
HTML5的变化是,它不再有块级和内联元素。相反,有一个更复杂的区别
要查看根据HTML5在元素中允许的内容,请参阅特定标记的描述,该部分将告诉您在该特定元素中允许哪些内容
编辑:解决列表元素注释中的混淆
(根据2019-07-30年HTML生活水平)
有几种类型的列表-最常见的是,和列表ul
和ol
是仅作为子元素保存的“容器”元素-不允许使用其他元素*。li
元素本身可以包含任意值。
*(从技术上讲,他们也可以持有
作为助记符:容器元素应该只包含它们各自的子元素,而这些子元素可以包含您喜欢的任何内容。因为我的问题与第二个问题相同:dls中嵌套div的标准是什么?我将在这里回答:
根据HTML5()
dl元素表示由零个或多个名称值组(描述列表)组成的关联列表。名称值组由一个或多个名称(dt元素,可能作为div元素子元素)和一个或多个值(dd元素,可能作为div元素子元素)组成,忽略除dt和dd元素子元素以及作为div元素子元素的子元素的dt和dd元素以外的任何节点。在单个dl元素中,每个名称不应有多个dt元素。“
甚至还有一个在dl中嵌套DIV的例子,它封装了dt和dd元素。您从哪里“学到”的这是不允许的?好吧,据我记忆所及,visual studio 2012中的html验证没有验证代码。但是,从dl下面写的内容来看,它不能包含div。我看的对吗?@Na钠dl
当然不能,就像ul
不能一样。dt
和dd
可以。@s一个li
可以保存流内容,dl
(描述列表)只能包含dt
或dd
元素,这些元素本身可以包含流内容(但dt
没有分段或标题内容)。它与ul
和ol
一样,也只能保存li
元素。上面的注释是不正确的。根据上面接受的答案中的文档,dl可以包含div,div可以包含dt和dd元素。页面上甚至有一个例子:@maxandcoffee,因为HTML现在是living标准,规范可以更改。您是正确的,div
s现在被允许作为dl
的子元素。我想这是为了在框架和样式方面提供一些灵活性。但是请注意,重要的一段规定了限制,即div
本身必须包含dt
或dd
否则将被忽略。
<ol>
<li></li>
...more li elements
</ol>
<ul>
<li></li>
...more li elements
</ul>
<dl>
<dt>term</dt><dd>description</dd>
</dl>
// the following is now valid as well:
<dl>
<div><dt>term</dt><dd>description</dd></div>
</dl>