重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
loading-states by dylantarre/animation-principles
npx skills add https://github.com/dylantarre/animation-principles --skill loading-states应用迪士尼的 12 条原则来传达系统活动状态。
挤压与拉伸:进度指示器可以脉动/呼吸以显示活力。轻微的缩放振荡(0.98-1.02)。
预期:在操作后立即显示加载状态。不要等到响应缓慢时才显示加载指示器。
演出布局:加载指示器出现在内容将出现的位置。骨架屏应与最终布局匹配。
逐帧动画与姿态对应:将加载设计为一个序列:即时指示器 → 进度 → 完成 → 内容。
跟随与重叠动作:加载状态随着内容进入而淡出。过渡过程重叠 100 毫秒。
慢入慢出:进度条在已知百分比之间使用缓入缓出效果。不确定进度使用平滑振荡。
弧线运动:圆形加载指示器遵循真正的圆形路径。避免生硬的旋转。
次要动作:骨架屏微光 + 轻微脉动。多个信号强化“正在加载”状态。
时间节奏:
夸张:保持最小化 - 加载状态不应分散注意力,只需提供安心感。
扎实的描绘:骨架屏应与内容比例匹配。错误的形状会破坏错觉。
吸引力:加载过程应让人感觉乐观,而非乏味。流畅的运动暗示着进展。
| 加载类型 | 出现延迟 | 最短显示时间 |
|---|
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 动画循环周期 |
|---|
| 加载指示器 | 200ms | 500ms | 700-800ms |
| 进度条 | 0ms | - | 平滑填充 |
| 骨架屏 | 0ms | 500ms | 1500ms 微光 |
| 按钮加载指示器 | 0ms | 400ms | 600ms |
| 整页加载 | 100ms | 800ms | 1000ms |
/* Skeleton shimmer */
.skeleton {
background: linear-gradient(
90deg,
#e0e0e0 0%,
#f0f0f0 50%,
#e0e0e0 100%
);
background-size: 200% 100%;
animation: shimmer 1500ms ease-in-out infinite;
}
@keyframes shimmer {
0% { background-position: 200% 0; }
100% { background-position: -200% 0; }
}
/* Spinner with smooth rotation */
.spinner {
animation: spin 700ms linear infinite;
opacity: 0;
animation: fade-in 200ms 200ms ease-out forwards, spin 700ms linear infinite;
}
/* Progress bar with easing */
.progress-fill {
transition: width 300ms cubic-bezier(0.4, 0, 0.2, 1);
}
.content-enter {
animation: content-reveal 300ms ease-out forwards;
}
@keyframes content-reveal {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
prefers-reduced-motion 设置 - 显示静态指示器替代每周安装量
57
代码仓库
GitHub 星标数
20
首次出现
2026 年 1 月 24 日
安全审计
已安装于
codex47
opencode46
gemini-cli45
cursor45
github-copilot42
claude-code40
Apply Disney's 12 principles to communicate system activity.
Squash & Stretch: Progress indicators can pulse/breathe to show life. Slight scale oscillation (0.98-1.02).
Anticipation : Show loading state immediately on action. Don't wait for slow response to show spinner.
Staging : Loading indicators appear where content will be. Skeleton screens match final layout.
Straight Ahead vs Pose-to-Pose : Design loading as a sequence: instant indicator → progress → completion → content.
Follow Through & Overlapping: Loading fades as content enters. Overlap the transition by 100ms.
Slow In/Slow Out : Progress bars ease-in-out between known percentages. Indeterminate uses smooth oscillation.
Arcs : Circular spinners follow true circular paths. Avoid jerky rotation.
Secondary Action : Skeleton shimmer + subtle pulse. Multiple signals reinforce "loading."
Timing :
Exaggeration : Keep minimal - loading shouldn't distract, just reassure.
Solid Drawing : Skeletons should match content proportions. Wrong shapes break the illusion.
Appeal : Loading should feel optimistic, not tedious. Smooth motion suggests progress.
| Loading Type | Appear Delay | Min Display | Animation Cycle |
|---|---|---|---|
| Spinner | 200ms | 500ms | 700-800ms |
| Progress Bar | 0ms | - | smooth fill |
| Skeleton | 0ms | 500ms | 1500ms shimmer |
| Button Spinner | 0ms | 400ms | 600ms |
| Full Page | 100ms | 800ms | 1000ms |
/* Skeleton shimmer */
.skeleton {
background: linear-gradient(
90deg,
#e0e0e0 0%,
#f0f0f0 50%,
#e0e0e0 100%
);
background-size: 200% 100%;
animation: shimmer 1500ms ease-in-out infinite;
}
@keyframes shimmer {
0% { background-position: 200% 0; }
100% { background-position: -200% 0; }
}
/* Spinner with smooth rotation */
.spinner {
animation: spin 700ms linear infinite;
opacity: 0;
animation: fade-in 200ms 200ms ease-out forwards, spin 700ms linear infinite;
}
/* Progress bar with easing */
.progress-fill {
transition: width 300ms cubic-bezier(0.4, 0, 0.2, 1);
}
.content-enter {
animation: content-reveal 300ms ease-out forwards;
}
@keyframes content-reveal {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
prefers-reduced-motion - show static indicator insteadWeekly Installs
57
Repository
GitHub Stars
20
First Seen
Jan 24, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
codex47
opencode46
gemini-cli45
cursor45
github-copilot42
claude-code40
前端设计系统技能:生产级UI设计、设计令牌与可访问性指南
8,500 周安装
SvelteKit 全栈框架教程:文件路由、SSR/SSG、TypeScript 与部署指南
190 周安装
iOS UIKit动画调试指南:解决CAAnimation完成处理程序缺失、时序错误与卡顿问题
187 周安装
Prometheus监控配置指南:从入门到实践,实现全面指标收集与告警
182 周安装
API参考文档生成指南:OpenAPI规范、REST/GraphQL文档与最佳实践
185 周安装
微服务模式指南:服务边界、通信、数据管理与弹性模式构建分布式系统
185 周安装
FastAPI项目模板:生产就绪的异步REST API模板,包含PostgreSQL、MongoDB最佳实践
185 周安装