【问题标题】:Can I put anything inside DL/DT/DDs?我可以在 DL/DT/DD 中​​放入任何东西吗?
【发布时间】:2011-09-17 13:30:24
【问题描述】:

我可以像使用无序列/有序列表一样使用定义列表吗?

我的意思是在 DT 或 DD 中插入任何我想要的 DIV?

<dl>
  <dt>
    ...
  </dt>
  <dd>
    ...
  </dd>
</dl>

有浏览器或搜索引擎抱怨吗?

【问题讨论】:

  • 搜索引擎会抱怨吗?我认为他们只会在我们鞭打它们而不喂它们时抱怨。

标签: html html-lists


【解决方案1】:

根据 HTML 5.2 规范,截至 2017 年 12 月,您现在可以在 &lt;dl&gt; 标记内添加单个嵌套的 &lt;div&gt; 标记,我假设是出于样式目的:

https://www.w3.org/TR/html52/grouping-content.html#the-dl-element

内容模型:

Either:零个或多个组,每个组由一个或多个 dt 元素后跟一个或多个 dd 元素组成,可选地与脚本支持元素混合。

或者:一个或多个 div 元素,可选地与脚本支持元素混合。

【讨论】:

    【解决方案2】:

    根据 cmets 更新答案:

    这最初是在 2011 年针对 HTML 4 回答的,但对于 HTML5 的回答却不同:

    dt 流式内容,但没有页眉、页脚、分段内容或标题内容后代。 dd 流动内容。

    原答案:

    DT 元素应包含inline content
    DD 元素应包含block-level content

    定义列表仅略有不同 来自该列表中的其他类型的列表 项目由两部分组成:术语和 说明。该术语由 DT 元素,并且仅限于 内联内容。描述是 给出的 DD 元素包含 块级内容。

    来源:W3C

    这个问题也是一个有趣的阅读:Why use definition lists (DL,DD,DT) tags for HTML forms instead of tables?

    【讨论】:

    • 你怎么不使用W3C文档?它与文档类型相关。例如,HTML 4.01:w3.org/TR/html401/struct/lists.html#h-10.3
    • @Jared Farrish:你是对的,原来的信息是错误的!已更新。
    • 没问题;总是最好去源头。 :)
    • @Jared Farrish:我知道——尽管信息不准确,但像 About 和 W3Schools 这样的网站在搜索结果中的排名往往更高。该死的谷歌! ;) 现在所有更新都使用有信誉的来源。
    • 答案不再有效,因为根据w3.org/TR/html5/grouping-content.html#the-dt-element,您可以在
      元素中都有流内容
    【解决方案3】:

    DL 内只能放置DTDD 标签。 DT 标签是 inline tag,所以你不应该把块元素放在里面。 DD 标签基本上可以包含你想要的任何东西,它是一个流内容标签。

    【讨论】:

      猜你喜欢
      • 2011-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-25
      • 2018-11-26
      相关资源
      最近更新 更多