在li或dl中嵌套div的HTML5标准

在li或dl中嵌套div的HTML5标准,html,Html,我知道在HTML5中不允许在li中嵌套div,尽管您可以,而且它可以工作。这是否意味着我不应该使用它?dls中嵌套div的标准是什么?完全允许在和元素中嵌套元素/元素可能包含流内容,而元素是流内容 规范:此信息不正确-div元素被视为元素,并且非常允许在元素内部使用。您可能将其与ul/ol元素混淆,后者可能只包含相应的lis HTML5的变化是,它不再有块级和内联元素。相反,有一个更复杂的区别 要查看根据HTML5在元素中允许的内容,请参阅特定标记的描述,该部分将告诉您在该特定元素中允许哪些内容

我知道在HTML5中不允许在li中嵌套div,尽管您可以,而且它可以工作。这是否意味着我不应该使用它?dls中嵌套div的标准是什么?

完全允许在
  • 元素中嵌套
    元素<代码>
  • /
    元素可能包含流内容,而
    元素是流内容


    规范:

    此信息不正确-
    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>