是语义化标签,仅渲染纯文本输出,不执行代码、不捕获系统反馈;需手动填入内容,常与 组合使用以保留格式并明确语义。

直接用 标签包裹输出内容即可,但必须确保内容是纯文本、无 HTML 解析、不执行代码——它只做视觉标记,不是沙箱。
为什么 不会运行代码或捕获真实系统输出
是语义化 HTML 标签,浏览器只把它当普通内联元素渲染,不会触发任何执行行为。它不连接终端、不调用 shell、不拦截 stdout/stderr。所谓“模拟运行反馈”,其实是开发者手动把预期输出写进标签里。
- 常见误用:把
console.log("hello")当作可执行代码——实际只是显示那串字符 - 正确用途:展示命令行示例、调试日志片段、协议响应体等静态文本,例如
$ ls -l
drwxr-xr-x 2 user user 4096 May 27 15:00 src - 若需真实捕获程序输出,必须走 JS(如
child_process.exec)或后端接口,再把结果塞进内容中
与 、 的分工差异
、 的分工差异三者常被混用,但语义和默认样式不同:
:表示一段**计算机代码**(如函数名、变量、语法片段),默认为等宽字体,但会折叠空白符、不换行-
:保留所有空白符和换行,适合大段格式化文本,但无语义(不表明是“程序输出”) -
:专指**程序或系统的实际输出结果**(如命令行返回、错误信息、API 响应体),语义明确,配合 CSS 可统一设置背景色/边框增强辨识度
推荐组合: ——既保留换行缩进,又标明语义。<samp>...</samp>
容易忽略的兼容性与样式陷阱
虽然所有主流浏览器都支持 ,但默认样式极简(仅等宽字体),极易被忽略或误读:
- Chrome/Firefox 默认不加背景、无边框、无内边距,和普通文字几乎无法区分
- 若嵌套在 或富文本编辑器中,可能被 CSS 重置(比如
font-family: sans-serif覆盖了等宽效果)- 移动端小字号下,
文本易被误认为乱码,建议配合font-size: 0.875em和background-color: #f5f5f5- 无障碍阅读器会读出 “sample” 语义,但不会额外说明这是“终端输出”,必要时加
aria-label="Command output"真正要模拟系统反馈,关键不在标签本身,而在你是否把真实的、结构化的输出内容准确放进它里面——
只负责说“这是程序吐出来的东西”,不负责吐。 - 移动端小字号下,











