标签仅用于段落内短代码片段,须显式设置等宽字体栈及样式,多行代码必须用嵌套,因其为行内元素会压缩空白符。

直接用 包裹单行内容,但必须显式设 font-family
标签本身不保证等宽字体——浏览器可能 fallback 到 Courier New 或系统默认非等宽字体,尤其在 Windows 或旧环境里。你写 console.log(),看起来像代码,其实只是碰巧渲染对了。
必须在 CSS 中强制指定字体栈:
code {
font-family: "SFMono-Regular", "Fira Code", "Consolas", "Liberation Mono", "Menlo", monospace;
font-size: 0.875em;
background-color: #f6f6f6;
padding: 0.2em 0.4em;
border-radius: 3px;
}
- 别只写
font-family: monospace——它不指定具体字体,纯靠运气 - 中文字体名含空格(如
"Microsoft YaHei")必须加引号,否则 CSS 失效 -
background-color和padding能快速区分代码与正文,但别用纯白底+黑字,易发虚
哪些内容适合塞进 标签
只用于嵌在普通段落里的短代码片段:函数名、变量、命令、路径、属性值。它的语义是「这是文档里的一小段可执行文本」,不是「代码块容器」。
- ✅ 正确:
useState()、npm install --save-dev、/src/api/user.ts、aria-label - ❌ 错误:
if (x > 0) { return x * 2; }(含换行、缩进、逻辑结构) - ⚠️ 注意:
标签不转义 HTML 字符,写才能显示为;漏掉就真解析成标签为什么不能把多行代码硬塞进
标签因为
是行内元素,浏览器会把所有换行符、制表符、连续空格压成一个空格。你粘贴三行 JS,渲染出来就是平的一长串,括号错位、逻辑断裂,根本没法读。- 现象:
function add(a,b){return a+b;}(所有换行缩进全丢) - 后果:复制到编辑器里无法直接运行,调试时浪费时间纠错格式
- 替代方案:多行代码必须用
<code></code> 嵌套,<code>pre</code> 保格式,<code>code</code> 表语义
容易被忽略的细节:空格和连字符处理
标签内连续空格会被压缩,但某些场景下空格有语义(比如 Shell 命令中的参数分隔)。如果需要保留多个空格,得用或 CSS 控制:- 避免写
ls -l /home(中间多个空格会被压成一个) - 改用
ls -l /home,或加 CSS:code { white-space: pre; } - 但慎用
white-space: pre——它会让长行不折断,可能横向溢出容器,需配合overflow-x: auto或限制宽度
真正难处理的不是怎么写,而是判断「这到底算不算单行」:带模板字符串、对象字面量、箭头函数体的表达式,哪怕视觉上占两行,只要没换行符,
标签就照单全收;一旦含真实换行,就得切到<code></code>。
- 现象:
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











