【发布时间】:2011-05-21 22:00:55
【问题描述】:
对于此类信息,您会使用哪些 HTML 标记:
姓名:约翰
年龄:40岁
城市:法兰克福
国家/地区:德国状态:有效
我喜欢在这里使用p 标签中的<label> 标签,这听起来像是很好的语义。但是,此信息不在表单内。 W3C 说:
label: The label element represents a caption for a form control.
那我应该用什么?我可以清楚地使用<strong>,但这没有“强烈的重要性”并且感觉不正确。
更新
在注意到 DEFINITION LIST 建议后,我想问一下,如果我在同一页面上有几条此类信息,这是否仍然是最好的?这意味着我多次用不同的“定义”定义“名称”。例如:
姓名:约翰
年龄:40岁
城市:法兰克福
国家/地区:德国状态:有效
姓名:玛丽亚
年龄:30
城市:波恩
国家 :德国
状态:不活动
<dl> 仍然是最好的选择吗?
【问题讨论】:
-
DL 绝对是必经之路。不要去想严格意义上的“定义”,把它看成是一个实例定义。甚至 w3c 规范也说“例如,DL 的另一种应用是标记对话,每个 DT 命名一个说话者,每个 DD 包含他或她的话。”,所以他们也非常宽松。
-
<dl>仍然合适,它不限于用于文字定义。即使如果严格来说是针对定义(比如字典单词的定义),对于同一个项目看到多个定义也是正常的。 -
事实上,我相信HTML5现在称它为“描述列表”dev.w3.org/html5/markup/dl.html
-
在2017年的今天,HTML5是一个统一的标准,我们采用更多语义,而不是更少......使用
<label>进行标记 (!)...所以,是的,您可以使用它。参见例如。 Mozilla's guide/Element/label,“内容类别:流式内容、短语内容……”。另见stackoverflow.com/a/32408312 -
值得注意的是,虽然
<dl>标签在语义上是合适的,但如果您正在构建一个响应式网站,很高兴知道没有办法将<dt>和<dd>元素保持在一起(防止中断在术语和定义之间)而不在每一对周围使用非语义包装器。如果这是一个问题,这可能需要您使用不同的 HTML 结构。
标签: html