跳到主要内容
前端术语库

步骤条

Steps

UI 组件也叫:Stepper、进度步骤、流程条、分步指示器

一句话:用一排带编号的节点和连线,显示一个多步骤流程的全部步骤,以及用户当前做到了第几步。

详细解释

步骤条把一个较长的任务拆成几步,横向或纵向排出「1 填写信息 → 2 确认订单 → 3 完成支付」。已完成的步骤打勾,当前步骤高亮,未开始的步骤置灰,用户一眼就能看出总共几步、还剩多少。

它和标签页的关键区别是顺序:步骤条的各步有先后依赖,通常要完成当前步骤并通过校验才能进入下一步;标签页的各块内容互相独立,可以随意切换。它也不同于面包屑,面包屑表示页面在网站里的层级位置,不表示进度。

步骤以 3~5 步为宜。步骤条只负责展示进度,真正的「上一步」「下一步」按钮一般放在表单底部。

示例

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

怎么跟 AI 说

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

在分步表单顶部放一个横向步骤条,共三步:「填写信息」「确认订单」「完成支付」。已完成的步骤显示对勾,当前步骤用深色实心圆和加粗文字,未开始的为灰色空心圆,步骤之间用细线连接。当前步骤校验通过后才能点「下一步」,已完成的步骤可点回去修改。

结构与适用场景

结构描述

由若干步骤节点(序号或图标、标题、可选说明)和节点之间的连接线组成,每个节点有已完成、进行中、未开始三种状态。

适用场景

  • 注册、下单、开通服务这类有固定先后顺序的多步流程
  • 一个表单内容太多、拆成 3~5 步分批填写,需要让用户知道还剩几步时
  • 审批、物流这类需要展示当前处于哪个阶段的进度场景

不适用场景

  • 几块内容互相独立、可以按任意顺序查看时,应该用标签页
  • 表示页面在网站中的层级位置时,应该用面包屑
  • 只有两步的简单流程,一个表单加一个确认对话框就够了
  • 表示文件上传这类连续的百分比进度时,应该用进度条

常见坏用法

  • 把互不相关的几块内容做成步骤条,用户被迫按顺序一步步点
  • 步骤多达八九个,横向放不下,步骤名称全被挤成省略号
  • 步骤条和实际表单不同步,已经到第三步了,第二步还没显示完成

识别特征

  • 一排带数字或对勾的圆形节点,节点之间用横线连接
  • 节点旁边或下方有简短的步骤名称
  • 前面的节点实心或打勾,后面的节点是灰色空心

DOM 线索

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

  • ol:has(> li[aria-current="step"])
  • .ant-steps
  • .el-steps
  • [class*="MuiStepper-root"]
  • .arco-steps
  • .t-steps
  • .n-steps