code标签需加背景、内边距、圆角和等宽字体以区分正文;多行代码必须嵌套在pre中,且code需设为block并转义特殊字符。

code 标签默认只是等宽字体,没背景、没边距、没高亮——直接用在文档里,用户根本注意不到那是代码。
给 code 加基础样式,避免和正文混在一起
不加样式时,code 和普通文字一样平铺在段落中,尤其在深色背景或小字号下极易被忽略。必须手动干预视觉区分:
- 用
background-color给浅灰背景(如#f5f5f5),比纯白更柔和 - 加
padding: 2px 4px让文字“浮”出来,别贴边 - 设
border-radius: 3px避免直角割裂感 - 显式声明
font-family: ui-monospace, 'SFMono-Regular', Consolas, monospace,比默认monospace更稳,尤其在 macOS 和 Windows 上一致
多行代码必须套 pre,单独用 code 会塌成一行
这是最常踩的坑:code 是行内元素,浏览器自动合并换行、缩进、多个空格——哪怕你写三行函数,渲染出来就是一串挤在一起的字符。
- 正确结构只能是
<pre class="brush:php;toolbar:false;"><code>...</code></pre>,pre保格式,code表语义,缺一不可 -
pre默认带上下 margin,插在段落中会撑开行高;建议统一用 CSS 重置:pre { margin: 1em 0; } - 长代码行要横向滚动:必须加
pre { overflow-x: auto; },否则溢出容器且不可见 -
code在pre内需设display: block,不然它不响应pre的宽高和滚动控制
代码里含 、<code>>、& 必须转义,否则被当 HTML 标签解析
直接把一段 if (x 5) 塞进 code,浏览器会把 当作标签开头,后面内容全丢。
- 所有特殊字符必须转义:
→ <code><,>→>,&→& - 别依赖编辑器自动转义——有些 CMS 或 Markdown 解析器会漏掉嵌套在
pre里的内容 - 如果用构建工具(如 Vite、Webpack),可用插件如
html-minifier的collapseWhitespace: false配合转义逻辑,但生产前务必手动抽检几处
单行 vs 多行的判断标准,只看要不要保留原始换行和缩进
不是“代码长短”,也不是“有没有大括号”——唯一标准就一条:你复制粘贴到终端/编辑器里,是否需要原样可运行?
- 适合单个
code:函数名useState、命令npm install、路径/src/utils.js、属性名textContent - 必须上
pre+code:任何含换行、缩进、空行的片段,哪怕只有两行,比如fetch().then(...)后跟一个.catch() - 混用常见错误:把整段 Shell 脚本塞进
code,或把console.log()单独包一层pre——前者格式全丢,后者引入多余 margin 和语义错乱
真正容易被忽略的是转义和嵌套边界:很多人测试时用简单字符串没问题,上线后遇到含 的正则或 JSX 片段才崩;也有人以为加了 <code>pre 就万事大吉,却忘了 code 在里面默认仍是行内元素,滚动和尺寸控制全失效。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











