【发布时间】:2019-08-23 01:20:09
【问题描述】:
我刚刚第一次遇到<kbd> 标签,除了默认文本为等宽字体外,它似乎没有做任何事情,这可以通过使用 CSS 将字体简单地更改为等宽字体来完成。 <kbd> 标签是否有一些使其实用的底层逻辑,类似于 <time> 标签如何将代码转换为机器可读?
我通常看到通过<span> 标记完成的文本更改,并且似乎<kbd> 标记显示的输出与带有font-family: monospace 的<span> 标记完全相同。如果<kbd> 标记只是更改字体,它的意义何在?我在 SO 和其他网站上搜索了解释,但除了字体更改之外,没有发现任何其他内容。
span {
font-family: monospace;
}
<p>Please press <span>Ctrl</span> + <kbd>Shift</kbd>.
【问题讨论】:
-
我已经阅读了 MDN,它们的所有 3 个用例都只是将文本设置为具有
font-family: monospace的样式(用于演示计算机输入)。仅仅为样式 1 CSS 属性设置标签似乎不太实用,这就是我问这个问题的原因。它似乎不是互联网上一个很好的文档标签。 -
所有元素都有其视觉显示以外的原因(毕竟,网络本来就是让那些看不见的人也可以访问的)。
-
风格它使包含在其中的文本成为等宽,但它的价值在于它的语义。您可以对许多其他标签说同样的话。例如。
<h1>。重点是什么?它所做的一切就是让文本变大。但就像<kbd>一样,价值在于语义。 -
我想我很难理解为什么它需要一个单独的标签。
h1标签非常常用,这就是为什么我知道即使没有必要也有标签。kbd标签似乎是非常间接的。