<kbd> 标签用于语义化标记用户应输入的键盘操作,如 <kbd>Ctrl</kbd>+<kbd>S</kbd>,需配合恰当 CSS(如 inline-block、圆角边框、背景色)增强视觉识别,避免滥用作装饰;多平台场景优先用 Unicode 符号(如 ⌘、⌥),组合键须分标签并用 连接,确保可访问性与语义准确。
<kbd> 的核心作用是表示用户输入的键盘操作,比如
<kbd>Ctrl</kbd>+<kbd>S</kbd>,它本身不带默认样式,也不自动加边框或阴影。浏览器对它的渲染极简(多数仅设为等宽字体),不能指望它“开箱即用”就长得像真实按键。</p><p>常见错误是把它当 <code><span class="key">用,堆样式却不写语义——结果屏幕阅读器读不出操作意图,SEO 和可访问性都受损。
<kbd>Enter</kbd>)却无操作指引</li><li>组合键建议拆成多个 <code><kbd>并用
+ 或 连接,避免把 <kbd>Ctrl+S</kbd> 写成单个标签(语义模糊)要让 <kbd> 看起来像物理按键,CSS 必须补足视觉线索。默认的 font-family: monospace 够用,但缺乏立体感和边界识别。
推荐最小可用样式:
立即学习“前端免费学习笔记(深入)”;
kbd { display: inline-block; padding: 2px 6px; border: 1px solid #aaa; border-radius: 4px; background-color: #f5f5f5; font-size: 0.9em; line-height: 1.2;}
display: inline-block 是必须的,否则 padding 和 border-radius 在部分浏览器中失效border-radius: 4px 比 2px 更接近常见键盘键帽弧度;6px 左右水平内边距比垂直更宽,符合视觉习惯box-shadow: inset 模拟按压效果——它会干扰文字可读性,且在高对比度模式下可能消失用户看到 <kbd>Cmd</kbd> 却在 Windows 上阅读,会产生认知错位。HTML 本身不处理平台适配,得靠内容策略或 JS 动态判断。
<kbd>⌘</kbd> 代替 <kbd>Cmd</kbd>,用 <kbd>⌥</kbd> 代替 <kbd>Alt</kbd>(Unicode 字符兼容性好,且被 macOS 官方文档采用)data-platform="mac" 属性,再用 CSS :is() 或 JS 切换文本内容,例如 <kbd data-platform="mac">⌘</kbd><kbd data-platform="win">Ctrl</kbd>
<kbd>Windows key</kbd> —— 用户扫一眼认不出,应直接用 <kbd>⊞</kbd>(U+229E)<kbd> 内部如果包含空格、换行或内联元素(如 <sup>),默认排版会松散、错位,尤其在小字号下明显。
(非断行空格)连接,而非普通空格,防止折行断开 <kbd>Ctrl</kbd> + <kbd>T</kbd>
<kbd> 里套 <span> 或 <small>;如需上标修饰(如 Fn 键),改用伪元素或统一用 <sub>Fn</sub> 并重置样式line-height: 1.2 后,若仍出现上下偏移,给 kdb 加 vertical-align: text-bottom 可对齐基线<kbd> 放错位置,反而降低信息可信度。