【发布时间】:2012-06-08 03:47:14
【问题描述】:
我希望 HTML 可以做一些语义上与此等效的事情;
<dl class="main-list">
<definitionitem>
<dt>Some Thing</dt>
<dd>You know it!</dd>
<dt>Another Thing</dt>
<dd>Word.</dd>
</definitionitem>
<definitionitem>
<dt>Stuff</dt>
<dd>Alright!</dd>
</definitionitem>
</dl>
但是,由于我最接近的东西是我对语义不是 100% 满意的东西;
<div class="redundant-wrapper">
<dl class="main-list">
<dt>Some Thing</dt>
<dd>You know it!</dd>
<dt>Another Thing</dt>
<dd>Word.</dd>
</dl>
<dl class="another-main-list">
<dt>Stuff!</dt>
<dd>Alright!</dd>
</dl>
</div>
我想知道是否有人对您如何做到这一点有任何其他想法?
此外,将项目分组的原因是因为它们在被标记的内容中可视地分组。想象一个字典页面,有一个定义列表,其中每个定义都在一个向左浮动的插入框中。我经常遇到这种情况。
【问题讨论】:
-
没有“语法上有效”甚至“完全有效”的方式将
dt和dd包装在一起;dl的唯一有效子级是dt和dd。 -
我知道它是无效的。我想知道的是,人们如何在语义上将单个 dt/dd 对组合为一个“定义项”,因为从语义上讲,您可以提出一个论点,即定义本身就是“定义列表”的语义子项有 dt/dd 的孩子。
-
@JosiahSprague — 您可以将
<dd>元素放在<dt>元素之后和任何其他<dt>元素之前。 -
Quentin,它没有将它们包装在一个可以在 DOM 中轻松操作的定义元素中。
-
在 XHTML 2.0 中有一个建议就是这样做的。 The
<di>element。但是 XHTML 2.0 从来没有成功过,所以你的请求被取消了。编辑:哈,我看到你已经从那个页面引用了。哦,好吧。
标签: html validation semantics w3c specifications