什么是<dl>标记为?

2022-01-18 00:00:00 list tags html

使用<dl>、<dt>有什么合乎逻辑的理由吗?和 <dd>标签而不是嵌套的 CSS 样式的 <ul>和<ol>标签?或者它们只是一组等待被弃用的过时标签?

Is there any logical reason for using the <dl>, <dt> and <dd> tags instead of nested, CSS-styled <ul> and <ol> tags? Or are they just an outdated group of tags waiting to be deprecated?

推荐答案

引用W3C 规范:

dl 元素表示一个由零个或多个名称-值组组成的关联列表(描述列表).每个组必须由一个或多个名称(dt 元素)后跟一个或多个值(dd 元素)组成.在单个 dl 元素中,每个名称不应有多个 dt 元素.

The dl element represents an association list consisting of zero or more name-value groups (a description list). Each group must consist of one or more names (dt elements) followed by one or more values (dd elements). Within a single dl element, there should not be more than one dt element for each name.

所以 <dl><dt><dd> 标签的主要原因是为了保留语义如果您只使用嵌套列表,这些名称-值对的连接会丢失.

So the main reason for the <dl>, <dt> and <dd> tags are to preserve the semantic connection for those name-value pairs, which would get lost, if you just used nested lists.

如果您使用嵌套列表,这可能出于各种原因(目前,例如,许多菜单被构建为嵌套列表),并且爬虫或任何其他尊重语义注释的系统都无法区分.

If you use nested lists, this could be done for various reasons (currently, e.g., many menus are structured into nested lists) and crawlers or any other system, that respects semantic annotations, would not be able to tell the difference.

但是,如果您使用上述标签,系统可以看到连接并采取相应措施.因此,未来的用途可能是提取较大文档中的所有术语定义,以创建某种词汇表.

If you use the above tags, however, a system can see the connection and act accordingly. So a future use maybe to extract all definitions of terms inside a larger document to create some kind of glossary.

相关文章