感谢这个有趣的问题。这里还有一些事情需要考虑。
什么是一对?两个元素在一起。所以我们需要一个标签。假设它是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>
键值对通常存储在数据库中,而那些通常存储表格数据,因此该表最适合恕我直言。
你怎么看?