双列表还是dl?

时间:2012-01-17 19:33:40

标签: html

我需要标记以下内容:

课程要求

course requirements

日期

dates

问题是,是使用两列table元素还是dldescription list)元素。我希望每个特定实例都有一个响应,如果可能的话,我希望响应一般。我一直无法确定这些元素,尤其是table没有(或需要)标题时。

注意:我的问题是我应该如何设置这些元素的样式。在决定语义之后,我将进入演示文稿。

编辑:遵循HTML5草案的答案比符合旧HTML4建议的答案更受青睐。

5 个答案:

答案 0 :(得分:22)

经验法则:如果您可以在表格版本上添加标题,则应该是定义列表。

另一个经验法则:如果您可以在表格版本上添加标题,那么它应该是一个定义列表。

那是因为一个好的清单应该作为一个表没有意义,反之亦然。以下是一个好的定义列表的示例:

<强>高度
180厘米
重量
180公斤
电话
555-5555
123-4567

当我们尝试将其转换为表格时,我们得到......

Terms         Definitions
------------------------
Height        180cm 
Weight        180kg 
Telephones    555-5555 
              123-4567

查看列标题;它只是“术语”和“定义”!

高度,重量和电话是完全不同的东西,它们的定义完全不同。在世界上555-5555和180cm属于同一列?没有意义!

但是,有时你会看到像这样的表格

Height        |    180cm 
Weight        |    180kg 
Telephones    |    555-5555 
              |    123-4567

没有作为标题的术语和定义,单元格的标题假定在第一列。恕我直言,当你有一个像你正在使用表错误的表,你应该使用定义列表。要使表格合理,它必须有多行,每行的每个单元格都可以由其列的标题定义。

例如:

Name    Height    Weight
------------------------
John    180cm     180kg
Jack    170cm     155kg 

约翰和杰克是名字。 180厘米和170厘米的高度。重量为180千克和155千克。单元格与行和列之间存在重要关系,如果不切断该重要关系,则无法将其置于定义列表中。所以在这种情况下应该使用一个表。

TL; DR: 您问题中的两列表可以包含标题。所以它应该是一张桌子。

请参阅:

Class                         Required Points
---------------------------------------------
Cohort Teaching               10 pts.
Cohort Research and Report    20 pts.

答案 1 :(得分:6)

在语义方面,table元素最适合您的需求。

W3C声明table元素“allows authors to arrange data -- text, preformatted text, images, links, forms, form fields, other tables, etc. -- into rows and columns of cells”,这正是您格式化示例的方式。

W3C声明dl标记适用于“consist of two parts: a term and a description”的列表。自“10分”。不是“队列教学”一词的描述,这不是适当的使用要素。

答案 2 :(得分:2)

这些看起来像我的表。 dl用作名称,值对列表,其中每个名称可以具有一个或多个值。我不认为你可以在多个组之间建立相关性,例如

<dl>
<dt>Class</dt>
<dd>Cohort Teaching</dd>
<dd>My other Class</dd>
<dt>Points</dt>
<dd>10</dd>
<dd>20</dd>
</dl>

specification中没有任何内容表明群组教学与10分相关。每个小组都是独立的。

至少我不会像我一样使用DL来标记它。我会用一张桌子。

答案 3 :(得分:0)

我会使用两列表,因为您没有在两个示例中定义任何内容(您正在显示键:值类型信息)。 dl标签(在语义方面)仅用于定义或描述。例如,有些人使用&lt; dl&gt;对其代码进行评论。标签

当你试图选择时,你可以对自己说:“这个”(例如群组#)意味着“这个”(10 feb)

答案 4 :(得分:-1)

您可以使用带有UL +固定数据的样式label