<code>用于机器可读的源代码(如fetch()、class="btn"),<kbd>专指用户需按下的物理按键或组合键(如<kbd>Ctrl</kbd>+<kbd>S</kbd>);二者语义严格区分,混用会损害可访问性与SEO。
<code> 表示机器可读的源代码文本,<kbd> 表示用户需手动输入的键盘操作 —— 二者语义完全不同,混用会导致可访问性下降、搜索引擎误解内容意图,甚至影响屏幕阅读器对交互逻辑的判断。
<code>
当你展示的是程序里真正会执行或被解析的代码片段时,比如函数调用、变量声明、HTML 属性值、CSS 声明块等。它强调“这段文字是代码,不是普通文本”。
console.log("hello")、fetch()、class="btn"、display: flex
<pre> 中可保留缩进和换行,单独使用则按行内元素处理空格<kbd>
当你想明确告诉用户“请用键盘按下这个组合键或单个键”时。它代表的是人机交互动作,不是代码本身。
<kbd>Ctrl</kbd>+<kbd>S</kbd>、<kbd>Enter</kbd>、<kbd>F12</kbd>
git commit),那是 <code> 的职责+ 连接,而非空格;每个键单独套一层 <kbd> 更利于辅助技术识别<kbd> 当成“等宽字体开关”有人看到 <code> 和 <kbd> 都显示为等宽字体,就拿 <kbd> 来格式化命令行输入示例,比如写成 <kbd>npm install</kbd>。这不对。
立即学习“前端免费学习笔记(深入)”;
运行 <code>npm install</code> 安装依赖;调试时按 <kbd>F12</kbd> 打开开发者工具
真实文档中经常出现“在终端输入某命令,其中某个参数要按某键确认”,这时需要分层表达语义,不能全塞进一个标签。
<kbd>curl -X POST http://api.com && Enter</kbd> —— 把 URL 和操作混在一起执行 <code>curl -X POST http://api.com</code>,然后按 <kbd>Enter</kbd> 发送
<var> 标出变量位置,例如:<code>git checkout <var>branch-name</var></code>