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

标签页

Tabs

别名:选项卡tab 切换页签切换标签浏览器那种标签分栏切换

这是什么

用一排可切换的标签把同一区域的内容分成互斥视图:标签头常驻可点击,仅当前 标签对应的面板可见,其余隐藏。适合把高度相关的几类内容压缩在同一区域内 就地切换,避免整页跳转。键盘上用左右方向键在标签间移动,是可访问性的经典范例。

名词辨析

Tabs 在同级内容面板间切换(内容同级并列);Segmented Control 是紧凑的模式/筛选切换;Breadcrumb 显示层级位置。

交互实验室

试一试,再决定怎么用

切换外观,再用 ← →、Home、End 切换内容面板。

正在加载实验室…

使用时关注什么

  • 01焦点与选中标签同步,面板与标签有语义关联。
  • 02切换不会改变页面路由,相关内容留在同一上下文。

从参考到实践

AI 生成的视觉参考 · 点击查看完整图集

✓ 适用场景

  • 同一对象的几个平行视图(概览 / 动态 / 设置)
  • 想就地切换、避免整页跳转
  • 内容高度相关且标签数 ≤ 7

✕ 不适用场景

  • 各标签内容不相关,应拆成独立页面或路由
  • 需要同时对照两个标签的内容
  • 有先后顺序的多步流程(用分步指示器)

常见形式

下划线式

Underline

激活项底部横线,Material 风格

胶囊分段式

Pill / Segmented

圆角分段控件,iOS Segmented 风格

卡片式

Card

标签即页签卡片,与面板连成一体

实现要点

flexborder-bottom: 2px solidtransformtransition

语义结构 role="tablist" > role="tab"(aria-selected)+ role="tabpanel" (aria-labelledby,hidden 隐藏非当前面板)。激活指示器用绝对定位小横条, transform: translateX 滑动过渡;面板切换可加轻微 fade。键盘需实现左右 方向键移动焦点(roving tabindex)。

平台 API

role="tablist"role="tab"role="tabpanel"

代码里叫什么

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

体系名称
ARIA APGTabs
shadcn/uiTabs
MUITabs
AntDTabs

相关概念

手风琴Accordion

由多个可折叠区块组成的垂直列表:点击标题展开内容、再点收起,可互斥(同时只开一项) 也可多开。用于在有限空间里收纳成组内容,让用户按需展开。

组件相似概念
面包屑Breadcrumb

用"首页 / 分类 / 子类 / 当前页"的层级路径表示用户在信息架构中所处的位置: 每个上级都可点击跳回,末项为当前页不可点。这是防止用户迷路成本最低的手段, 命名源自童话中沿途撒下用来标记归路的面包屑。常置于页面标题上方。

组件相似概念
分页Pagination

用带页码的控件把长结果集切分为离散页面:用户显式点击页码或上一页 / 下一页 按钮取回对应片段,当前位置永远可知、可分享、可回退。与无限滚动的"失控 漂移"相对,它是数据浏览中最可控的方式,也是搜索结果与后台表格的默认选择。

组件相似概念
下拉菜单Dropdown

由触发按钮就近弹出的一组操作菜单,用于收纳次要操作,保持界面整洁。 典型形态是「···」更多按钮;面板带阴影浮于内容之上,点击菜单项即执行并关闭, 危险操作以红色项与分隔线隔离。

组件相似概念
侧边栏Sidebar

固定在页面一侧(通常左侧)的垂直导航区,承载产品的主要层级入口。 后台管理系统的事实标准:顶部放品牌与全局搜索,侧边栏放模块树,内容区专注任务。

组件相似概念

容易混淆

分段控制器Segmented Control

Segmented Control 更紧凑、用于模式/筛选,Tabs 用于内容分区。

面包屑Breadcrumb

Breadcrumb 表达层级路径,Tabs 表达同级切换。

侧边栏Sidebar

Sidebar 是常驻导航面,Tabs 是内容区内的切换条。

可搭配的风格

参考来源

Markdown 版(给 Agent) · JSON