Scroll Area
使用 overflow-auto 和原生 scrollbar,完整保留滚轮、触控、键盘以及浏览器无障碍行为。ScrollBar export 是为兼容 shadcn 组合方式而保留的隐藏 placeholder。
@neumorphism-ui/scroll-area预览
安装
安装: scroll-area
npx shadcn@latest add @neumorphism-ui/scroll-areaCLI 会依次处理 npm 依赖、base token、utils 和组件源码。
首次使用此 Registry?请先完成 namespace 配置 。
用法
Import
Scroll Area import 代码
import {
ScrollArea,
ScrollBar,
} from "@/components/ui/scroll-area"Example
Scroll Area 用法代码
<ScrollArea
className="h-64 p-4"
tabIndex={0}
aria-label="最近动态"
>
{activities.map((activity) => (
<article key={activity.id}>{activity.title}</article>
))}
<ScrollBar orientation="vertical" />
</ScrollArea>API 参考
| 组件 | 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
ScrollArea | className | string | — | 限制高度或宽度以形成 overflow 区域。 |
ScrollArea | tabIndex | number | — | 当内部没有 focusable 元素时,提供键盘滚动入口。 |
ScrollArea | aria-label / aria-labelledby | string | — | 当该区域可独立浏览时,为其内容提供名称。 |
ScrollBar | orientation | "horizontal" | "vertical" | "vertical" | 兼容性 placeholder 的方向数据属性。 |
无障碍
- 01
使用原生 overflow,不会拦截屏幕阅读器和触控滚动。
- 02
如果内部完全没有链接或按钮,可设置 tabIndex=0,让键盘用户进入该区域。
- 03
ScrollBar 是视觉隐藏的兼容性 placeholder,实际滚动由浏览器 scrollbar 负责。