【问题标题】:Which advantages have definition list (<dd><dt> etc..) and when we should use it?定义列表(<dd><dt> 等)有哪些优点,我们应该在什么时候使用它?
【发布时间】:2010-07-04 00:29:04
【问题描述】:

定义列表(&lt;dd&gt;&lt;dt&gt;等)有哪些优点,我们应该在什么时候使用它? (示例:在 Zend_Form 中使用,但我不明白为什么)

还有其他更好的选择吗?

(我是初学者,但在我看来,xml 在 html 中使用。 如果我对 XML 最近使用不广泛,因为 yaml、file.ini、json 它们中的每一个在他们的领域中解析比 xml 格式更有效。)

谢谢

【问题讨论】:

    标签: html css xml zend-form forms


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      所有 HTML 标签看起来像 XML。这是因为 XML 和 HTML 都与 SGML 密切相关。 XML 只是一种比 HTML 更通用和“可扩展”的标记语言。

      考虑到 XHTML、RSS、ATOM、RDF、EPUB、XMPP、Microformats、ODF、SOAP 等都是基于 XML 的,我很难说 XML“没有被广泛使用”。它比 YAML、JSON 或 ini 文件更普遍使用——在任何情况下,它们都不是文档标记语言。

      因此,HTML 标记类似于 XML 的事实是避免使用特定标记或一组标记的一个非常愚蠢的理由。标记应该根据你内容的语义结构来选择,而不是 XML 在完全不相关的数据序列化应用中的流行度。

      当您需要表示一个定义列表时,您使用DL。也就是说,只要你有一些语义结构:

      term: definition
      term: definition
      term: definition
      ...
      

      严格来说,定义列表应该仅用于定义术语表中的术语。但在实践中,它的用途远不止于此。由于 HTML 不提供用于指定其他类型的配对关系的标签,因此 DL 被用作该领域的总称。

      除了定义术语,DL 还用于对话:DT 元素保存说话者的姓名,DD 保存说话的台词。

      表单也可以表示为定义列表,但使用 LABEL 标记在 IMO 语义上更正确。

      当我必须列出一组属性及其值时,我通常使用DL,例如:

      File Name: Chloroform Girl.avi
      File Size: 320 MiB
      File Type: Video
      

      【讨论】:

        【解决方案3】:

        在 HTML 中,每次需要带有定义的单词列表时都必须使用 &lt;dl/&gt;。在实践中,定义列表用于简单列表(无序&lt;ul/&gt;或有序&lt;ol/&gt;)不够用的情况。

        例如,您想显示要下载的文件列表。每个文件都有一个图标、一个名称、一个大小和一个下载按钮。

        1. 首先,您可以将所有内容放在&lt;table/&gt; 中。十年前就是这样做的,当时 CSS 没有像今天这样广泛使用,内容和表示之间的分离还不太清楚。

        2. 然后,您可以将所有内容都放在&lt;div/&gt;s 中:&lt;div/&gt; 中的每个文件,&lt;div/&gt; 中的每个文件名,等等。问题是代码会更长,不太容易理解和更难维护。

        3. 然后,您可能想在里面放一个 &lt;ul/&gt; 和大量的 &lt;div/&gt;s。这类似于 (2.)

        4. 最后,您可以使用定义列表。其优点将是减少 HTML 代码的大小和更易于维护的代码。顺便说一句,可访问性会增加:禁用 CSS 后,您的页面仍然可读(而嵌入 &lt;div/&gt;s,用户会很难理解它是文件列表)。

        【讨论】:

        • 您的用例非常适合表格,而不是定义/描述列表。
        • @Alohci:不是真的。这将是一个纯粹的布局表,顺便说一下,会损害维护。例如,您必须在左侧显示一个图标,在中间显示一个名称,而不是在名称下方的大小,并在右侧显示一个按钮?现在,需求发生了变化,按钮必须显示在下方。使用表格,您将需要更改 HTML,即使需求更改纯粹是关于布局。
        • 您正在根据表现要求证明语义元素的选择是合理的。从语义上讲,它显然是一个表格——你有列(图标、名称、大小、下载链接)和行(文件列表)。 很容易识别,并且描述表格为用户做什么的标题或摘要很清楚。现在,我同意仅在 CSS 中重新设计表格是非常困难的。但这本质上是 CSS 的失败,而不是错误选择语义元素的理由。
        • @Alohci - 好的,我明白了,我同意你的看法。
        猜你喜欢
        相关资源
        最近更新 更多
        热门标签