这个问题我已经纠结了一段时间了。标记名称/值对的正确方法是什么?
我喜欢 < dl > 元素,但是它提出了一个问题: 没有办法将一对元素从另一对元素中分离出来——它们没有唯一的容器。在视觉上,代码缺乏定义。不过,从语义上讲,我认为这是正确的标记。
<dl>
<dt>Name</dt>
<dd>Value</dd>
<dt>Name</dt>
<dd>Value</dd>
</dl>
在上面的代码中,无论是在代码中还是在渲染中,都很难在视觉上正确地偏移这些对。例如,如果我想要,但是在每一对的周围都有一个边框,那将是一个问题。
我们可以指着桌子。可以认为,名称-值对是表格数据。这对我来说似乎不正确,但我看到了论点。但是,除了在位置或添加类名之外,HTML 并不区分名称和值。
<table>
<tr>
<td>Name</td>
<td>Value</td>
</tr>
<tr>
<td>Name</td>
<td>Value</td>
</tr>
</table>
从可视化的角度来看,这在代码和 CSS 中都更有意义。设计前面提到的边框是微不足道的。然而,如上所述,语义充其量是模糊的。
有什么想法,评论,问题吗?
编辑/更新
也许我应该在结构方面明确提到这一点,但是定义列表还存在不能从语义上对这些对进行分组的问题。dd
和 dt
之间的顺序和隐含边界很容易理解,但是我仍然觉得有点不对劲。