Skeleton
一个基于 div 的简单 pulse placeholder。它只提供视觉加载轮廓,并通过 aria-hidden=true 对辅助技术隐藏。
@neumorphism-ui/skeleton预览
安装
安装: skeleton
npx shadcn@latest add @neumorphism-ui/skeletonCLI 会依次处理 npm 依赖、base token、utils 和组件源码。
首次使用此 Registry?请先完成 namespace 配置 。
用法
Import
Skeleton import 代码
import { Skeleton } from "@/components/ui/skeleton"Example
Skeleton 用法代码
<div className="flex items-center gap-3" aria-busy="true">
<span className="sr-only">正在加载个人资料</span>
<Skeleton className="size-12 rounded-full" />
<div className="grid flex-1 gap-2">
<Skeleton className="h-4 w-1/3" />
<Skeleton className="h-3 w-2/3" />
</div>
</div>API 参考
| 组件 | 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
Skeleton | className必填 | string | — | 设置 placeholder 的宽度、高度和 radius。 |
Skeleton | aria-hidden | boolean | true | 将装饰性 placeholder 从无障碍树中隐藏。 |
无障碍
- 01
Skeleton 本身设置了 aria-hidden,因此应在周围另行提供 sr-only 状态文案或 role=status。
- 02
加载区域可按需设置 aria-busy=true,并在加载完成后移除。
- 03
pulse 动画会依据全局 prefers-reduced-motion 规则基本停用。