跳到主要内容
界面图谱Interface Atlas
☰
EN
组件Navigation / Controls

工具条

Toolbar

别名:工具条工具栏操作栏快捷操作那一排toolbartool bar

这是什么

把作用于当前视图或选中项的操作按钮压成一条横向(偶尔纵向)控件带,按功能分组并用分隔线 划分。工具条管「动作」,菜单管「选项」,站点导航管「去哪」。典型如编辑器的加粗 / 斜体排版条、 图片查看器的旋转下载条、列表页的批量操作条。

名词辨析

工具条(Toolbar)是动作按钮的集合,按钮点了就执行;菜单条(Menubar)是菜单入口的集合, 点开后还要在列表里再选一次;导航条(Navbar)是站点或应用的目的地入口,点击会改变路由或 页面。看「点完之后发生什么」:执行动作 → 工具条;展开选项 → 菜单;换页面 → 导航。

交互实验室

试一试,再决定怎么用

用键盘在工具条按钮间左右移动,触发几个动作,观察当前选中态。

正在加载实验室…

使用时关注什么

  • 01同组按钮语义分组,整条只占一个 Tab 站点
  • 02切换型按钮暴露按下 / 弹起状态

✓ 适用场景

  • 对当前视图或选中项有一组高频动作(格式化、批量操作)
  • 动作需要常驻可见、一次点击即达
  • 图标足以表达含义,可省略文字标签

✕ 不适用场景

  • 动作低频或有争议(收进溢出菜单或更多按钮)
  • 用户要从固定选项中选一个(那是菜单或 select)
  • 负责全站目的地跳转(那是 navbar 或 sidebar)

常见形式

图标工具条

Icon toolbar

纯图标按钮,悬浮提示补语义

排版工具条

Formatting toolbar

加粗 / 斜体 / 对齐等富文本动作,带激活态

上下文工具条

Contextual toolbar

仅在选中内容时出现,离开即隐藏

实现要点

flexgapborder-radiusbackgroundtransition

容器 role="toolbar" + aria-label,内部按功能分组,分组用 role="group" + aria-label, 分隔符是 aria-hidden 的 1px 竖线。键盘用 roving tabindex:整条只占一个 Tab 站点, 组内左右方向键移动(纵向条用上下),Home / End 跳两端。切换型按钮用 aria-pressed。 窄屏允许换行或收进溢出菜单。

平台 API

role="toolbar"aria-labelroving tabindex

代码里叫什么

同一控件在不同体系里的叫号——用对名字,Prompt 和检索才准。

体系名称
ARIA APGToolbar
RadixToolbar
MUIToolbar

相关概念

容易混淆

顶部导航栏Navbar

导航条跳转目的地;工具条执行当前上下文的动作。

菜单Menu

菜单点开后再选一项;工具条按钮点击即执行。

可搭配的风格

参考来源

Markdown 版(给 Agent) · JSON