标签有什么意义?

问题描述 投票:3回答:2

我刚刚第一次遇到<kbd>标签,除了将文本默认为等宽之外,它似乎没有做任何事情,这可以通过简单地使用CSS将字体更改为等宽字体来完成。 <kbd>标签是否具有一些使其实用的基础逻辑,类似于<time>标签将代码转换为机器可读的方式?

我传统上看到通过<span>标签完成的文本内更改,并且看起来<kbd>标签显示与<span>标签font-family: monospace完全相同的输出。如果<kbd>标签只是改变了字体,它的重点是什么?我在SO和其他网站上搜索了一些解释,但除了字体的变化之外还没有找到任何东西。

span {
  font-family: monospace;
}
<p>Please press <span>Ctrl</span> + <kbd>Shift</kbd>.
html css
2个回答
1
投票

kbd标签比用于样式的标签更像是语义标签。默认情况下,UA使用等宽字体来设置它的样式,但其目的是

表示用户输入(通常是键盘输入,尽管它也可以用于表示其他输入,例如语音命令)。 ref

MDN页面中,您还可以阅读:

HTML键盘输入元素(<kbd>)表示内联文本的范围,表示来自键盘,语音输入或任何其他文本输入设备的文本用户输入。按照惯例,用户代理默认使用其默认的等宽字体呈现<kbd>元素的内容,尽管这不是HTML标准强制要求的。


0
投票

它通常来自键盘(用于教程,演练等)用于表示用户输入。它没有提供其他功能。

虽然在大多数用户代理样式表中,它只会像您发现的那样将字体更改为等宽字体,但您可以使用它来按照您希望的方式设置键盘或其他输入的样式,而无需使用带有类的跨度。

© www.soinside.com 2019 - 2024. All rights reserved.