我需要标记以下内容:
课程要求:
和日期:
问题是,是使用两列table
元素还是dl
(description list)元素。我希望每个特定实例都有一个响应,如果可能的话,我希望响应一般。我一直无法确定这些元素,尤其是table
没有(或需要)标题时。
注意:我的问题是不我应该如何设置这些元素的样式。在决定语义之后,我将进入演示文稿。
编辑:遵循HTML5草案的答案比符合旧HTML4建议的答案更受青睐。
答案 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
。