哪些优势有定义列表(<dd> </dd> <dt>等...)以及什么时候应该使用它?</dt>

时间:2010-07-04 00:29:04

标签: html css xml zend-form html-form

哪些优势有定义列表(<dd><dt>等...)以及什么时候应该使用它? (例如:在Zend_Form中使用,但我不明白为什么)

是否存在其他更好的选择?

(我是初学者,但它看起来像是在HTML中使用xml。 如果我对XML最近没有广泛使用,因为yaml,file.ini,json在他们的字段中每个都更有效地解析然后xml格式。)

由于

3 个答案:

答案 0 :(得分:5)

答案 1 :(得分:2)

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

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

  1. 首先,您可以将所有内容都放在<table/>中。这就是十年之前所做的事情,当时CSS没有像今天这样集中使用,而且内容和演示之间的分离也不太清楚。

  2. 然后,您可以将所有内容放在<div/>中:<div/>中的每个文件,<div/>中的每个文件名等等。问题在于代码会更长,更容易理解,更难维护。

  3. 然后,您可能希望在<ul/>内放置大量<div/>个内容。这类似于(2。)

  4. 最后,您可以使用定义列表。优点是缩小了HTML代码的大小,并且代码更易于维护。顺便提一下,可访问性将会增加:禁用CSS后,您的页面仍然可读(而对于嵌入式<div/>,用户将很难理解它是一个文件列表。)

答案 2 :(得分: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