跳到主要内容
前端术语库

锚点导航

Anchor

UI 组件也叫:页内导航、文章目录、Table of Contents、Scrollspy

一句话:列出当前页面各章节标题的小目录,点击跳到对应位置,滚动时自动高亮当前所在章节。

详细解释

锚点导航通常固定在长页面的右侧(文档站、长文章、长表单),是一列按层级缩进的章节标题。点击某一项,页面平滑滚动到对应章节;用户自己滚动页面时,目录会自动高亮当前正在看的章节,这种跟随高亮的效果在 Bootstrap 里叫 Scrollspy。它的原理是给每个章节标题设置 id,链接写成 #章节id。

和 标签页 的区别:标签页一次只显示一块内容,切换时其他内容被隐藏;锚点导航的所有内容都在同一页上,只是帮你快速跳转。和 侧边菜单 的区别:侧边菜单在不同页面之间跳转,锚点导航只在当前页面内部跳转。页面顶部有吸顶导航栏时,要给滚动位置留出偏移,否则章节标题会被导航栏挡住。

示例

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

怎么跟 AI 说

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

文档页右侧加一个吸顶的锚点导航,列出本页的二级、三级标题,三级标题缩进一格;点击后平滑滚动到对应章节,并预留顶部导航栏 64px 的偏移;滚动时自动高亮当前章节,左侧用竖线加深色块标出位置;窄屏时隐藏。

结构与适用场景

结构描述

由一列可点击的章节标题链接组成,按层级缩进,左侧常有一条竖线和表示当前位置的高亮块。

适用场景

  • 文档、帮助中心、长文章等需要在一页内多次跳转的长内容
  • 页面有五个以上章节,用户需要知道自己读到了哪里
  • 长表单或设置页,想让用户快速定位到某个分组

不适用场景

  • 页面内容很短,一屏就能看完
  • 需要在不同页面之间跳转,用侧边菜单或顶部导航
  • 几块内容互相独立、同一时间只需看一块,用标签页

常见坏用法

  • 点击后章节标题被吸顶导航栏挡住,没有预留偏移
  • 滚动时高亮不跟随,或同时高亮好几项
  • 目录列出了所有四五级小标题,比正文还长

识别特征

  • 页面右侧一列小号文字链接,按层级缩进
  • 其中一项加深或变色,左侧有一小段竖线高亮
  • 滚动页面时高亮项跟着变化

DOM 线索

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

  • .ant-anchor-wrapper
  • .el-anchor
  • .arco-anchor
  • .t-anchor
  • .n-anchor
  • .table-of-contents
  • .toc
  • .VPDocAsideOutline
  • nav[aria-label*="目录"]
  • nav[aria-label*="contents" i]
  • aside nav:has(a[href^="#"]):not(:has(a:not([href^="#"]), a[href^="#/"]))