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

轮播

Carousel

别名:轮播图片轮播轮播图banner 切换跑马灯切换carouselslider gallery

这是什么

用水平滑动的轨道展示一组内容,同一时刻只突出一项,其余滑出视野或露出边缘作暗示。通过分页点、 箭头或自动播放切换,常用于首屏 Banner、图片画廊与推荐位。适合「一组同类内容、逐个浏览」的场景, 不适合需要并排对照的信息。

交互实验室

试一试,再决定怎么用

用键盘或箭头浏览完所有项目,观察焦点是否被正确管理。

正在加载实验室…

使用时关注什么

  • 01切换后当前项有可见指示
  • 02键盘左右键可切换

✓ 适用场景

  • 一组同类内容需要逐个浏览(Banner、图集、推荐位)
  • 横向空间有限,又想保留「还有更多」的暗示
  • 图片或卡片为主、文字说明简短

✕ 不适用场景

  • 用户需要并排对照多个项目(用卡片网格或表格)
  • 内容只有三五条且全部重要(直接平铺,别藏起来)
  • 关键操作或表单藏在某一页里(切换会打断任务)

常见形式

分页点

Dot pagination

底部小圆点指示位置,点按直达,最省空间

箭头

Arrow controls

左右箭头逐步切换,桌面端最常见

自动播放

Autoplay with pause

定时前进,悬停或聚焦暂停;必须提供暂停入口

实现要点

scroll-snap-typeoverflow-xtransform

轨道用 overflow-x: auto + scroll-snap-type: x mandatory,项目 scroll-snap-align: center, 纯 CSS 即可滑动;控件切换则用 transform: translateX(-index * 100%)。当前项用 aria-hidden 或 inert 降低朗读噪音,容器标 aria-roledescription="carousel",切换时 aria-live="polite" 播报「第 n / N 项」。自动播放必须提供暂停按钮,并在 prefers-reduced-motion 下关闭。

平台 API

aria-roledescription="carousel"scroll-snap-typearia-live

代码里叫什么

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

体系名称
ARIA APGCarousel
shadcn/uiCarousel (Embla)
MUICarousel

相关概念

标签页Tabs

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

组件替代方案
跑马灯Marquee

一条内容带在水平方向匀速循环滚动,首尾无缝衔接。 用于 logo 墙、合作方名单、公告与促销横幅——用"连续流动"表达数量多与不间断, 而不是引导用户逐条读完。

动效替代方案
卡片Card

用圆角边框或底色围出一块自包含内容的矩形容器,一块卡片聚合一组相关信息: 封面图、标题、摘要与操作。是内容流、仪表盘与电商列表的通用显示单元。

组件搭配使用

可搭配的风格

参考来源

Markdown 版(给 Agent) · JSON