标签仅用于内联代码片段,不可用于多行代码、ui文字或未转义html;多行代码须用组合并转义字符,变量用嵌套,键盘操作用。

<code> 标签用错,不是“加个等宽字体”那么简单——它有明确语义边界,越界就会破坏可访问性、混淆屏幕阅读器,甚至让 CSS 选择器失效。
把多行函数体塞进 <code> 里
浏览器不会报错,但语义错误:短内联代码片段 ≠ 可执行逻辑块。屏幕阅读器会逐字朗读大段内容,<code> 也不该承担格式保留职责。
- 错误写法:
<p><code>function hello() { return 'Hi'; } - 正确做法:用
<pre class="brush:php;toolbar:false;"><code></code> 组合,且必须先转义 HTML 字符(如 <code>{</code> → <code>{</code>)</pre> - 补充:若需高亮,应在
<pre class="brush:php;toolbar:false;"><code class="js"></code> 中加语言类,而非依赖 <code><code></code> 自身</code></pre>
直接在 <code> 里写未转义的 HTML 标签
比如 <code><div class="header"></div>,浏览器会真把它当标签解析,导致 DOM 结构断裂、Elements 面板出现灰色斜体节点。
- 必须手动转义:
<div class="header"></div>→<div class="header"></div> - 编辑器里可用插件自动转义(如 VS Code 的 “Auto Rename Tag” 不管这事,得另装 “HTML Boilerplate” 或手写 snippet)
- 别指望
textContent赋值能绕过——那是 JS 层面的事,<code>的原始 HTML 内容仍需合规
用 <code> 包 UI 文字或操作提示
像 <code>点击【确定】按钮 或 <code>按 Ctrl+C 复制,既不符合语义,也削弱可访问性。这类内容不属于“源代码片段”。
- UI 文字应使用普通文本或
<span></span>,必要时加 ARIA 标签 - 键盘操作推荐
<kbd>Ctrl+C</kbd>,系统级命令如npm install才进<code> - 变量名、参数占位符可用
<var>x</var>,再嵌套到<code>中:例如<code>Math.max(<var>a</var>, <var>b</var>)
忽略默认样式与可访问性影响
浏览器虽设了 font-family: monospace,但不等于你就能放心用。字号过大、背景色太深、对比度超标,都会让技术读者疲劳;而屏幕阅读器对 <code> 有专用语调,内容冗余或含糊会直接降低信息效率。
- CSS 建议显式声明字体栈:
font-family: ui-monospace, 'SFMono-Regular', Consolas, monospace; - 避免在
<code>里塞完整路径如/usr/local/bin/node——精简为node更合适,上下文已说明环境 - 别用
<code>包含带解释性括号的内容,如parseInt()(将字符串转为整数)——语义污染,解释文字应放外面
真正难的不是写对 <code>,而是每次敲下它之前,先问一句:这串字符,是否真的属于“被引用的、上下文依赖的、不可执行的源码标识符”?漏掉这个判断,后面所有样式和辅助技术都白搭。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











