跳到主要内容
前端术语库

代码块

Code Block

UI 组件也叫:代码片段、代码高亮、Code Snippet、语法高亮

一句话:用等宽字体和语法高亮展示一段代码的区域,通常带语言标签、行号和一键复制按钮。

详细解释

代码块用于在文档、博客、教程里展示代码:浅灰或深色背景,等宽字体,保留缩进和换行,关键字、字符串、注释用不同颜色区分。完整的代码块一般还有右上角的「复制」按钮、左上角的语言或文件名标签、左侧行号,并能高亮某几行。HTML 里用 <pre><code> 表示,语法高亮常用 Shiki、Prism、highlight.js 这些库。

要和 行内代码 区分:句子中间夹的一个函数名或命令(如 npm install)用行内代码,只加一点灰底;多行代码才用代码块。长代码行不要自动换行打乱缩进,应该让代码块横向滚动。能编辑、能运行的在线代码编辑器(如 Monaco、CodeMirror)比代码块复杂得多,不是一回事。

示例

灰度线框示意,只表达结构,不代表具体视觉风格。

怎么跟 AI 说

可以直接贴给 Cursor、Claude Code 等工具,把里面的业务内容换成你自己的。

文档页里的代码块用深灰背景、等宽字体、14px 字号,支持 JavaScript 和 Bash 语法高亮;左上角显示文件名,右上角有「复制」按钮,点击后变为「已复制」持续 2 秒;左侧显示行号,长行横向滚动不自动换行。

结构与适用场景

结构描述

由带背景色的等宽文本区组成,顶部可有文件名或语言标签和复制按钮,左侧可有行号。

适用场景

  • 技术文档、博客、教程里需要展示多行代码或命令
  • 用户需要把代码复制到自己的项目里运行
  • 需要展示配置文件、接口返回的 JSON 等必须保留格式的文本

不适用场景

  • 句子中间只提到一个函数名或命令,用行内代码
  • 用户需要在页面上编辑并运行代码,用在线代码编辑器
  • 展示普通的长段文字,等宽字体会让阅读变慢

常见坏用法

  • 没有复制按钮,用户手动选择时总是漏掉首尾字符
  • 长代码行自动换行,缩进被打乱看不出结构
  • 把代码截图成图片放进页面,无法复制也无法搜索

识别特征

  • 一块深色或浅灰底的矩形区域,里面是等宽字体
  • 文字有多种颜色,保留缩进
  • 右上角有复制图标,左侧可能有一列行号

DOM 线索

插件本地识别时匹配的 CSS 选择器(标签、ARIA role、常见组件库 class)。

  • pre:has(> code)
  • pre[class*="language-"]
  • pre.shiki
  • div[class*="language-"]:has(> pre)
  • .highlight:has(pre)