感谢您提出这个有趣的问题。这里还有几件事要考虑。
什么是一对?两个元素在一起。因此,我们需要一个标签。假设它是pair
标签。
<pair></pair>
该对包含密钥和相应的值:
<pair><key>keyname</key><value>value</value></pair>
然后,我们需要列出对:
<pairlist>
<pair><key>keyname</key><value>value</value></pair>
<pair><key>keyname</key><value>value</value></pair>
</pairlist>
接下来要考虑的是对的显示。通常的布局是表格形式:
key value
key value
和可选的分隔符,通常是冒号:
key : value
key : value
冒号可以通过CSS轻松添加,但这在IE中当然无法使用。
上述情况是理想的情况。但是没有有效的HTML标记可以轻松地实现此目的。
总结一下:
dl
在键和值的简单情况下,在语义上最接近,但是很难应用视觉样式(例如,以内联方式显示对或在刚刚悬停的对上添加红色边框)。最适合的情况dl
是词汇表。但这不是我们讨论的情况。
在这种情况下,我可以看到的唯一替代方法是使用table
,如下所示:
<table summary="This are the key and value pairs">
<caption>Some notes about semantics</caption>
<thead class="aural if not needed">
<tr><th scope="col">keys</th><th scope="col">values</th></tr>
</thead>
<tbody class="group1">
<tr><th scope="row">key1</th><td>value1</td></tr>
<tr><th scope="row">key2</th><td>value2</td></tr>
</tbody>
<tbody class="group2">
<tr><th scope="row">key3</th><td>value3</td></tr>
<tr><th scope="row">key4</th><td>value4</td></tr>
</tbody>
</table>
多一个:
<ul>
<li><strong>key</strong> value</li>
<li><strong>key</strong> value</li>
</ul>
要么:
<ul>
<li><b>key</b> value</li>
<li><b>key</b> value</li>
</ul>
或者,当按键可能被链接时:
<ul>
<li><a href="/key1">key1</a> value</li>
<li><a href="/key2">key1</a> value</li>
</ul>
键和值对通常存储在数据库中,而键和值对通常存储表格数据,因此该表最适合恕我直言。
你怎么看?