@tinkcarlos/skillora 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/.claude/skills/.temp-skill-index.md +245 -0
  2. package/.claude/skills/SKILL.md +264 -0
  3. package/.claude/skills/api-scaffolding/SKILL.md +431 -0
  4. package/.claude/skills/api-scaffolding/agents/backend-architect.md +282 -0
  5. package/.claude/skills/api-scaffolding/agents/django-pro.md +144 -0
  6. package/.claude/skills/api-scaffolding/agents/fastapi-pro.md +156 -0
  7. package/.claude/skills/api-scaffolding/agents/graphql-architect.md +146 -0
  8. package/.claude/skills/api-scaffolding/skills/fastapi-templates/SKILL.md +171 -0
  9. package/.claude/skills/api-testing-observability/SKILL.md +583 -0
  10. package/.claude/skills/api-testing-observability/agents/api-documenter.md +146 -0
  11. package/.claude/skills/api-testing-observability/commands/api-mock.md +1320 -0
  12. package/.claude/skills/brainstorming/SKILL.md +283 -0
  13. package/.claude/skills/bug-fixing/SKILL.md +382 -0
  14. package/.claude/skills/bug-fixing/references/backend-guide.md +132 -0
  15. package/.claude/skills/bug-fixing/references/bug-guide.md +354 -0
  16. package/.claude/skills/bug-fixing/references/bug-record-template.md +134 -0
  17. package/.claude/skills/bug-fixing/references/bug-records.md +88 -0
  18. package/.claude/skills/bug-fixing/references/code-review-gate.md +81 -0
  19. package/.claude/skills/bug-fixing/references/common-bugs.md +140 -0
  20. package/.claude/skills/bug-fixing/references/complete-workflow.md +361 -0
  21. package/.claude/skills/bug-fixing/references/config-driven-fixes.md +136 -0
  22. package/.claude/skills/bug-fixing/references/context-isolation-protocol.md +268 -0
  23. package/.claude/skills/bug-fixing/references/cross-surface-regression.md +120 -0
  24. package/.claude/skills/bug-fixing/references/database-investigation.md +129 -0
  25. package/.claude/skills/bug-fixing/references/dependency-and-integrity-protocol.md +369 -0
  26. package/.claude/skills/bug-fixing/references/fix-completeness-checklist.md +239 -0
  27. package/.claude/skills/bug-fixing/references/frontend-guide.md +219 -0
  28. package/.claude/skills/bug-fixing/references/fullstack-joint-guide.md +123 -0
  29. package/.claude/skills/bug-fixing/references/functional-breakage.md +117 -0
  30. package/.claude/skills/bug-fixing/references/ide-lint-errors-guide.md +176 -0
  31. package/.claude/skills/bug-fixing/references/impact-analysis.md +511 -0
  32. package/.claude/skills/bug-fixing/references/investigation-checklist.md +263 -0
  33. package/.claude/skills/bug-fixing/references/knowledge-extraction-guide.md +531 -0
  34. package/.claude/skills/bug-fixing/references/knowledge-workflow.md +212 -0
  35. package/.claude/skills/bug-fixing/references/post-edit-quality-gate.md +30 -0
  36. package/.claude/skills/bug-fixing/references/python-env-and-testing.md +126 -0
  37. package/.claude/skills/bug-fixing/references/rca-guide.md +428 -0
  38. package/.claude/skills/bug-fixing/references/similar-bug-patterns.md +113 -0
  39. package/.claude/skills/bug-fixing/references/skill-delegation-guide.md +350 -0
  40. package/.claude/skills/bug-fixing/references/skill-orchestration.md +155 -0
  41. package/.claude/skills/bug-fixing/references/testing-strategy.md +350 -0
  42. package/.claude/skills/bug-fixing/references/tooling-build-scripts.md +162 -0
  43. package/.claude/skills/bug-fixing/references/user-input-validation.md +77 -0
  44. package/.claude/skills/bug-fixing/references/ux-patterns.md +158 -0
  45. package/.claude/skills/bug-fixing/references/windows-terminal-hygiene.md +106 -0
  46. package/.claude/skills/bug-fixing/references/zero-regression-matrix.md +239 -0
  47. package/.claude/skills/bug-fixing/references/zero-risk-protocol.md +102 -0
  48. package/.claude/skills/bug-fixing/scripts/format_code.py +611 -0
  49. package/.claude/skills/bug-fixing/scripts/generate_report_template.py +74 -0
  50. package/.claude/skills/bug-fixing/scripts/lint_check.py +816 -0
  51. package/.claude/skills/bug-fixing/scripts/requirements.txt +36 -0
  52. package/.claude/skills/cicd-pipeline/SKILL.md +300 -0
  53. package/.claude/skills/code-review/SKILL.md +535 -0
  54. package/.claude/skills/code-review/references/anti-pattern-scan.md +102 -0
  55. package/.claude/skills/code-review/references/automated-analysis.md +456 -0
  56. package/.claude/skills/code-review/references/backend-common-issues.md +589 -0
  57. package/.claude/skills/code-review/references/backend-expert-guide.md +415 -0
  58. package/.claude/skills/code-review/references/backend-review.md +868 -0
  59. package/.claude/skills/code-review/references/batch-processing-strategy.md +198 -0
  60. package/.claude/skills/code-review/references/call-chain-analysis-protocol.md +166 -0
  61. package/.claude/skills/code-review/references/common-patterns.md +321 -0
  62. package/.claude/skills/code-review/references/configuration-review.md +425 -0
  63. package/.claude/skills/code-review/references/control-flow-completeness.md +114 -0
  64. package/.claude/skills/code-review/references/database-review.md +298 -0
  65. package/.claude/skills/code-review/references/dependency-and-integrity-protocol.md +313 -0
  66. package/.claude/skills/code-review/references/external-standards.md +51 -0
  67. package/.claude/skills/code-review/references/feature-review.md +329 -0
  68. package/.claude/skills/code-review/references/file-review-template.md +326 -0
  69. package/.claude/skills/code-review/references/frontend-advanced.md +654 -0
  70. package/.claude/skills/code-review/references/frontend-common-issues.md +482 -0
  71. package/.claude/skills/code-review/references/frontend-expert-guide.md +342 -0
  72. package/.claude/skills/code-review/references/frontend-review.md +783 -0
  73. package/.claude/skills/code-review/references/fullstack-consistency.md +418 -0
  74. package/.claude/skills/code-review/references/fullstack-review.md +477 -0
  75. package/.claude/skills/code-review/references/functional-completeness.md +386 -0
  76. package/.claude/skills/code-review/references/hidden-bugs-detection.md +473 -0
  77. package/.claude/skills/code-review/references/ide-lint-errors-guide.md +173 -0
  78. package/.claude/skills/code-review/references/infrastructure-review.md +453 -0
  79. package/.claude/skills/code-review/references/iteration-review.md +264 -0
  80. package/.claude/skills/code-review/references/job-review.md +335 -0
  81. package/.claude/skills/code-review/references/layered-checklist-protocol.md +157 -0
  82. package/.claude/skills/code-review/references/logic-completeness.md +535 -0
  83. package/.claude/skills/code-review/references/mandatory-checklist.md +288 -0
  84. package/.claude/skills/code-review/references/multi-language-guide.md +800 -0
  85. package/.claude/skills/code-review/references/new-project-review.md +226 -0
  86. package/.claude/skills/code-review/references/non-code-files-review.md +451 -0
  87. package/.claude/skills/code-review/references/overlooked-issues.md +657 -0
  88. package/.claude/skills/code-review/references/platform-specific-review.md +195 -0
  89. package/.claude/skills/code-review/references/precision-analysis-protocol.md +260 -0
  90. package/.claude/skills/code-review/references/python-patterns.md +494 -0
  91. package/.claude/skills/code-review/references/rca-techniques.md +362 -0
  92. package/.claude/skills/code-review/references/report-template.md +430 -0
  93. package/.claude/skills/code-review/references/resource-limits-and-degradation.md +137 -0
  94. package/.claude/skills/code-review/references/review-dimensions.md +311 -0
  95. package/.claude/skills/code-review/references/review-guide.md +202 -0
  96. package/.claude/skills/code-review/references/review-knowledge-workflow.md +257 -0
  97. package/.claude/skills/code-review/references/review-progress-tracker-protocol.md +172 -0
  98. package/.claude/skills/code-review/references/review-record-template.md +195 -0
  99. package/.claude/skills/code-review/references/skill-orchestration.md +143 -0
  100. package/.claude/skills/code-review/references/ui-ux-review.md +470 -0
  101. package/.claude/skills/containerization/SKILL.md +313 -0
  102. package/.claude/skills/database-migrations/agents/database-admin.md +142 -0
  103. package/.claude/skills/database-migrations/agents/database-optimizer.md +144 -0
  104. package/.claude/skills/database-migrations/commands/migration-observability.md +408 -0
  105. package/.claude/skills/database-migrations/commands/sql-migrations.md +492 -0
  106. package/.claude/skills/finishing-a-development-branch/SKILL.md +319 -0
  107. package/.claude/skills/frontend-design/LICENSE.txt +177 -0
  108. package/.claude/skills/frontend-design/SKILL.md +587 -0
  109. package/.claude/skills/frontend-design/references/color-consistency.md +487 -0
  110. package/.claude/skills/frontend-design/references/color-palettes-full.md +657 -0
  111. package/.claude/skills/frontend-design/references/design-system-generator.md +285 -0
  112. package/.claude/skills/frontend-design/references/font-pairings-full.md +705 -0
  113. package/.claude/skills/frontend-design/references/industry-anti-patterns.md +281 -0
  114. package/.claude/skills/frontend-design/references/layout-anti-patterns.md +582 -0
  115. package/.claude/skills/frontend-design/references/motion-patterns.md +659 -0
  116. package/.claude/skills/frontend-design/references/pre-delivery-checklist.md +153 -0
  117. package/.claude/skills/frontend-design/references/responsive-design.md +555 -0
  118. package/.claude/skills/frontend-design/references/style-modification-rules.md +335 -0
  119. package/.claude/skills/frontend-design/references/ui-styles-full.md +383 -0
  120. package/.claude/skills/frontend-design/references/ui-styles-rating.md +191 -0
  121. package/.claude/skills/frontend-design/references/ux-guidelines.md +640 -0
  122. package/.claude/skills/fullstack-developer/SKILL.md +512 -0
  123. package/.claude/skills/fullstack-developer/references/api-contract-guide.md +312 -0
  124. package/.claude/skills/fullstack-developer/references/api-response-patterns.md +223 -0
  125. package/.claude/skills/fullstack-developer/references/async-patterns.md +220 -0
  126. package/.claude/skills/fullstack-developer/references/bug-prevention.md +914 -0
  127. package/.claude/skills/fullstack-developer/references/code-quality-checklist.md +271 -0
  128. package/.claude/skills/fullstack-developer/references/complete-development-workflow.md +278 -0
  129. package/.claude/skills/fullstack-developer/references/context-isolation-protocol.md +256 -0
  130. package/.claude/skills/fullstack-developer/references/database-migration.md +331 -0
  131. package/.claude/skills/fullstack-developer/references/dependency-and-integrity-protocol.md +390 -0
  132. package/.claude/skills/fullstack-developer/references/development-phases.md +333 -0
  133. package/.claude/skills/fullstack-developer/references/expert-guide.md +214 -0
  134. package/.claude/skills/fullstack-developer/references/file-import-patterns.md +114 -0
  135. package/.claude/skills/fullstack-developer/references/graceful-degradation-patterns.md +78 -0
  136. package/.claude/skills/fullstack-developer/references/ide-lint-errors-guide.md +183 -0
  137. package/.claude/skills/fullstack-developer/references/integration-testing.md +301 -0
  138. package/.claude/skills/fullstack-developer/references/mock-api-patterns.md +307 -0
  139. package/.claude/skills/fullstack-developer/references/phase-gate-template.md +249 -0
  140. package/.claude/skills/fullstack-developer/references/post-edit-quality-gate.md +30 -0
  141. package/.claude/skills/fullstack-developer/references/python-engineering.md +79 -0
  142. package/.claude/skills/fullstack-developer/references/skill-orchestration.md +214 -0
  143. package/.claude/skills/fullstack-developer/references/skill-router-table.md +304 -0
  144. package/.claude/skills/fullstack-developer/references/state-sync.md +217 -0
  145. package/.claude/skills/fullstack-developer/references/ui-testing-checklist.md +292 -0
  146. package/.claude/skills/fullstack-developer/scripts/format_code.py +611 -0
  147. package/.claude/skills/fullstack-developer/scripts/lint_check.py +816 -0
  148. package/.claude/skills/fullstack-developer/scripts/requirements.txt +36 -0
  149. package/.claude/skills/performance-optimization/SKILL.md +250 -0
  150. package/.claude/skills/product-requirements/SKILL.md +357 -0
  151. package/.claude/skills/product-requirements/references/acceptance-criteria.md +335 -0
  152. package/.claude/skills/product-requirements/references/answer-first-questioning-protocol.md +299 -0
  153. package/.claude/skills/product-requirements/references/competitive-analysis-guide.md +183 -0
  154. package/.claude/skills/product-requirements/references/document-accuracy-protocol.md +253 -0
  155. package/.claude/skills/product-requirements/references/document-management-protocol.md +278 -0
  156. package/.claude/skills/product-requirements/references/external-standards.md +62 -0
  157. package/.claude/skills/product-requirements/references/feature-spec-template.md +359 -0
  158. package/.claude/skills/product-requirements/references/knowledge-acquisition-protocol.md +251 -0
  159. package/.claude/skills/product-requirements/references/plan-execution-protocol.md +334 -0
  160. package/.claude/skills/product-requirements/references/plan-generation-protocol.md +264 -0
  161. package/.claude/skills/product-requirements/references/prioritization-frameworks.md +80 -0
  162. package/.claude/skills/product-requirements/references/requirement-decomposition-protocol.md +291 -0
  163. package/.claude/skills/product-requirements/references/user-story-examples.md +297 -0
  164. package/.claude/skills/product-requirements/references/workflow-templates.md +266 -0
  165. package/.claude/skills/react-best-practices/SKILL.md +198 -0
  166. package/.claude/skills/react-best-practices/references/advanced-patterns.md +94 -0
  167. package/.claude/skills/react-best-practices/references/bundle-optimization.md +182 -0
  168. package/.claude/skills/react-best-practices/references/client-data-fetching.md +112 -0
  169. package/.claude/skills/react-best-practices/references/complete-guide.md +2249 -0
  170. package/.claude/skills/react-best-practices/references/eliminating-waterfalls.md +169 -0
  171. package/.claude/skills/react-best-practices/references/javascript-performance.md +256 -0
  172. package/.claude/skills/react-best-practices/references/rendering-performance.md +230 -0
  173. package/.claude/skills/react-best-practices/references/rerender-optimization.md +214 -0
  174. package/.claude/skills/react-best-practices/references/server-performance.md +182 -0
  175. package/.claude/skills/security-audit/SKILL.md +226 -0
  176. package/.claude/skills/shared-references/advanced-debugging-techniques.md +186 -0
  177. package/.claude/skills/shared-references/code-quality-checklist.md +218 -0
  178. package/.claude/skills/shared-references/code-review-efficiency-guide.md +125 -0
  179. package/.claude/skills/shared-references/mcp-dependency-compatibility-protocol.md +276 -0
  180. package/.claude/skills/shared-references/skill-call-graph.md +230 -0
  181. package/.claude/skills/shared-references/skill-orchestration-protocol.md +281 -0
  182. package/.claude/skills/shared-references/subagent-dispatch-templates.md +199 -0
  183. package/.claude/skills/skill-expert-skills/LICENSE.txt +204 -0
  184. package/.claude/skills/skill-expert-skills/QUICK_NAVIGATION.md +374 -0
  185. package/.claude/skills/skill-expert-skills/SKILL.md +247 -0
  186. package/.claude/skills/skill-expert-skills/docs/_index.md +91 -0
  187. package/.claude/skills/skill-expert-skills/references/deep-research-methodology.md +389 -0
  188. package/.claude/skills/skill-expert-skills/references/docs-generation-workflow.md +398 -0
  189. package/.claude/skills/skill-expert-skills/references/domain-expertise-protocol.md +343 -0
  190. package/.claude/skills/skill-expert-skills/references/domain-knowledge/_index.md +54 -0
  191. package/.claude/skills/skill-expert-skills/references/domain-knowledge/backend-expertise.md +517 -0
  192. package/.claude/skills/skill-expert-skills/references/domain-knowledge/bug-fixing-expertise.md +363 -0
  193. package/.claude/skills/skill-expert-skills/references/domain-knowledge/code-review-expertise.md +392 -0
  194. package/.claude/skills/skill-expert-skills/references/domain-knowledge/frontend-expertise.md +410 -0
  195. package/.claude/skills/skill-expert-skills/references/domain-knowledge-template.md +503 -0
  196. package/.claude/skills/skill-expert-skills/references/examples.md +782 -0
  197. package/.claude/skills/skill-expert-skills/references/integration-examples.md +655 -0
  198. package/.claude/skills/skill-expert-skills/references/knowledge-validation-checklist.md +246 -0
  199. package/.claude/skills/skill-expert-skills/references/latest-knowledge-acquisition.md +461 -0
  200. package/.claude/skills/skill-expert-skills/references/mcp-tools-guide.md +439 -0
  201. package/.claude/skills/skill-expert-skills/references/official-best-practices.md +616 -0
  202. package/.claude/skills/skill-expert-skills/references/patterns.md +218 -0
  203. package/.claude/skills/skill-expert-skills/references/plugin-skills-guide.md +432 -0
  204. package/.claude/skills/skill-expert-skills/references/requirement-elicitation-protocol.md +290 -0
  205. package/.claude/skills/skill-expert-skills/references/skill-creator-SKILL.md +353 -0
  206. package/.claude/skills/skill-expert-skills/references/skill-templates.md +583 -0
  207. package/.claude/skills/skill-expert-skills/references/skills-knowledge-base.md +561 -0
  208. package/.claude/skills/skill-expert-skills/references/tools-guide.md +379 -0
  209. package/.claude/skills/skill-expert-skills/references/troubleshooting.md +378 -0
  210. package/.claude/skills/skill-expert-skills/references/universality-guide.md +205 -0
  211. package/.claude/skills/skill-expert-skills/references/writing-style-guide.md +466 -0
  212. package/.claude/skills/skill-expert-skills/scripts/__pycache__/quick_validate.cpython-313.pyc +0 -0
  213. package/.claude/skills/skill-expert-skills/scripts/__pycache__/universal_validate.cpython-313.pyc +0 -0
  214. package/.claude/skills/skill-expert-skills/scripts/analyze_trigger.py +425 -0
  215. package/.claude/skills/skill-expert-skills/scripts/diff_with_official.py +188 -0
  216. package/.claude/skills/skill-expert-skills/scripts/init_skill.py +349 -0
  217. package/.claude/skills/skill-expert-skills/scripts/package_skill.py +156 -0
  218. package/.claude/skills/skill-expert-skills/scripts/quick_validate.py +493 -0
  219. package/.claude/skills/skill-expert-skills/scripts/requirements.txt +2 -0
  220. package/.claude/skills/skill-expert-skills/scripts/universal_validate.py +182 -0
  221. package/.claude/skills/skill-expert-skills/scripts/upgrade_skill.py +431 -0
  222. package/.claude/skills/subagent-driven-development/SKILL.md +268 -0
  223. package/.claude/skills/test-driven-development/SKILL.md +246 -0
  224. package/.claude/skills/test-driven-development/references/testing-anti-patterns.md +192 -0
  225. package/.claude/skills/using-git-worktrees/SKILL.md +266 -0
  226. package/.claude/skills/using-skillstack/SKILL.md +127 -0
  227. package/.claude/skills/vercel-deploy/SKILL.md +166 -0
  228. package/.claude/skills/vercel-deploy/scripts/deploy.sh +249 -0
  229. package/.claude/skills/verification-before-completion/SKILL.md +305 -0
  230. package/.claude/skills/writing-plans/SKILL.md +259 -0
  231. package/README.md +69 -0
  232. package/bin/cli.js +468 -0
  233. package/lib/init.js +333 -0
  234. package/package.json +29 -0
@@ -0,0 +1,659 @@
1
+ # 动效模式库 (Motion Patterns)
2
+
3
+ 本文档提供前端动画和过渡效果的完整参考,帮助创建流畅、专业的用户体验。
4
+
5
+ ## 目录
6
+
7
+ - [1. 动效原则](#1-动效原则)
8
+ - [2. 缓动函数](#2-缓动函数)
9
+ - [3. 页面过渡](#3-页面过渡)
10
+ - [4. 组件动画](#4-组件动画)
11
+ - [5. 微交互](#5-微交互)
12
+ - [6. 滚动动画](#6-滚动动画)
13
+ - [7. 加载状态](#7-加载状态)
14
+ - [8. 代码片段库](#8-代码片段库)
15
+
16
+ ---
17
+
18
+ ## 1. 动效原则
19
+
20
+ ### 1.1 核心原则
21
+
22
+ | 原则 | 说明 | 示例 |
23
+ |------|------|------|
24
+ | **目的性** | 动画应有明确目的 | 引导注意力、反馈操作、展示关系 |
25
+ | **自然性** | 模拟物理世界运动 | 使用缓动函数、遵循惯性 |
26
+ | **一致性** | 相同操作相同动画 | 所有弹窗使用相同进入动画 |
27
+ | **性能优先** | 优先使用 GPU 加速属性 | `transform`, `opacity` |
28
+ | **可访问性** | 尊重用户偏好 | `prefers-reduced-motion` |
29
+
30
+ ### 1.2 时长指南
31
+
32
+ | 类型 | 时长 | 用途 |
33
+ |------|------|------|
34
+ | 微交互 | 100-200ms | 按钮 hover、toggle |
35
+ | 小型过渡 | 200-300ms | 下拉菜单、tooltip |
36
+ | 中型过渡 | 300-400ms | 弹窗、侧边栏 |
37
+ | 大型过渡 | 400-600ms | 页面切换、复杂动画 |
38
+ | 强调动画 | 600-1000ms | 首屏加载、成功反馈 |
39
+
40
+ ---
41
+
42
+ ## 2. 缓动函数
43
+
44
+ ### 2.1 常用缓动
45
+
46
+ ```css
47
+ :root {
48
+ /* 标准缓动 */
49
+ --ease-in: cubic-bezier(0.4, 0, 1, 1);
50
+ --ease-out: cubic-bezier(0, 0, 0.2, 1);
51
+ --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
52
+
53
+ /* 弹性缓动 */
54
+ --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
55
+ --ease-elastic: cubic-bezier(0.68, -0.6, 0.32, 1.6);
56
+
57
+ /* 流畅缓动 */
58
+ --ease-smooth: cubic-bezier(0.25, 0.1, 0.25, 1);
59
+ --ease-swift: cubic-bezier(0.55, 0, 0.1, 1);
60
+
61
+ /* 强调缓动 */
62
+ --ease-dramatic: cubic-bezier(0.6, 0.04, 0.98, 0.335);
63
+ --ease-snappy: cubic-bezier(0.77, 0, 0.175, 1);
64
+ }
65
+ ```
66
+
67
+ ### 2.2 使用场景
68
+
69
+ | 缓动 | 场景 | 效果 |
70
+ |------|------|------|
71
+ | `ease-out` | 元素进入 | 快速开始,缓慢结束 |
72
+ | `ease-in` | 元素退出 | 缓慢开始,快速结束 |
73
+ | `ease-in-out` | 状态切换 | 平滑过渡 |
74
+ | `ease-bounce` | 成功反馈 | 活泼、有趣 |
75
+ | `ease-elastic` | 强调动画 | 弹性、动感 |
76
+
77
+ ---
78
+
79
+ ## 3. 页面过渡
80
+
81
+ ### 3.1 淡入淡出
82
+
83
+ ```css
84
+ /* 基础淡入 */
85
+ @keyframes fadeIn {
86
+ from { opacity: 0; }
87
+ to { opacity: 1; }
88
+ }
89
+
90
+ /* 向上淡入 */
91
+ @keyframes fadeInUp {
92
+ from {
93
+ opacity: 0;
94
+ transform: translateY(20px);
95
+ }
96
+ to {
97
+ opacity: 1;
98
+ transform: translateY(0);
99
+ }
100
+ }
101
+
102
+ /* 向下淡入 */
103
+ @keyframes fadeInDown {
104
+ from {
105
+ opacity: 0;
106
+ transform: translateY(-20px);
107
+ }
108
+ to {
109
+ opacity: 1;
110
+ transform: translateY(0);
111
+ }
112
+ }
113
+
114
+ /* 缩放淡入 */
115
+ @keyframes fadeInScale {
116
+ from {
117
+ opacity: 0;
118
+ transform: scale(0.95);
119
+ }
120
+ to {
121
+ opacity: 1;
122
+ transform: scale(1);
123
+ }
124
+ }
125
+ ```
126
+
127
+ ### 3.2 交错动画 (Stagger)
128
+
129
+ ```css
130
+ /* 列表项交错进入 */
131
+ .stagger-item {
132
+ opacity: 0;
133
+ animation: fadeInUp 0.5s var(--ease-out) forwards;
134
+ }
135
+
136
+ .stagger-item:nth-child(1) { animation-delay: 0ms; }
137
+ .stagger-item:nth-child(2) { animation-delay: 50ms; }
138
+ .stagger-item:nth-child(3) { animation-delay: 100ms; }
139
+ .stagger-item:nth-child(4) { animation-delay: 150ms; }
140
+ .stagger-item:nth-child(5) { animation-delay: 200ms; }
141
+
142
+ /* 动态计算延迟 (CSS 变量) */
143
+ .stagger-item {
144
+ animation-delay: calc(var(--index) * 50ms);
145
+ }
146
+ ```
147
+
148
+ ### 3.3 页面切换
149
+
150
+ ```css
151
+ /* 滑入 */
152
+ @keyframes slideInRight {
153
+ from { transform: translateX(100%); }
154
+ to { transform: translateX(0); }
155
+ }
156
+
157
+ /* 滑出 */
158
+ @keyframes slideOutLeft {
159
+ from { transform: translateX(0); }
160
+ to { transform: translateX(-100%); }
161
+ }
162
+
163
+ /* 页面容器 */
164
+ .page-enter {
165
+ animation: slideInRight 0.4s var(--ease-out);
166
+ }
167
+
168
+ .page-exit {
169
+ animation: slideOutLeft 0.4s var(--ease-in);
170
+ }
171
+ ```
172
+
173
+ ---
174
+
175
+ ## 4. 组件动画
176
+
177
+ ### 4.1 弹窗 (Modal)
178
+
179
+ ```css
180
+ /* 遮罩层 */
181
+ .modal-overlay {
182
+ opacity: 0;
183
+ transition: opacity 0.3s var(--ease-out);
184
+ }
185
+
186
+ .modal-overlay.active {
187
+ opacity: 1;
188
+ }
189
+
190
+ /* 弹窗内容 */
191
+ .modal-content {
192
+ opacity: 0;
193
+ transform: scale(0.95) translateY(-10px);
194
+ transition: all 0.3s var(--ease-out);
195
+ }
196
+
197
+ .modal-content.active {
198
+ opacity: 1;
199
+ transform: scale(1) translateY(0);
200
+ }
201
+
202
+ /* 关闭动画 */
203
+ .modal-content.closing {
204
+ opacity: 0;
205
+ transform: scale(0.95) translateY(10px);
206
+ transition: all 0.2s var(--ease-in);
207
+ }
208
+ ```
209
+
210
+ ### 4.2 下拉菜单 (Dropdown)
211
+
212
+ ```css
213
+ .dropdown-menu {
214
+ opacity: 0;
215
+ transform: translateY(-10px);
216
+ transform-origin: top center;
217
+ transition: all 0.2s var(--ease-out);
218
+ pointer-events: none;
219
+ }
220
+
221
+ .dropdown-menu.open {
222
+ opacity: 1;
223
+ transform: translateY(0);
224
+ pointer-events: auto;
225
+ }
226
+
227
+ /* 菜单项 hover */
228
+ .dropdown-item {
229
+ transition: background-color 0.15s ease;
230
+ }
231
+
232
+ .dropdown-item:hover {
233
+ background-color: var(--color-primary-light);
234
+ }
235
+ ```
236
+
237
+ ### 4.3 侧边栏 (Sidebar)
238
+
239
+ ```css
240
+ .sidebar {
241
+ transform: translateX(-100%);
242
+ transition: transform 0.3s var(--ease-out);
243
+ }
244
+
245
+ .sidebar.open {
246
+ transform: translateX(0);
247
+ }
248
+
249
+ /* 从右侧滑入 */
250
+ .sidebar-right {
251
+ transform: translateX(100%);
252
+ }
253
+
254
+ .sidebar-right.open {
255
+ transform: translateX(0);
256
+ }
257
+ ```
258
+
259
+ ### 4.4 Toast 通知
260
+
261
+ ```css
262
+ @keyframes toastIn {
263
+ from {
264
+ opacity: 0;
265
+ transform: translateY(-100%) scale(0.9);
266
+ }
267
+ to {
268
+ opacity: 1;
269
+ transform: translateY(0) scale(1);
270
+ }
271
+ }
272
+
273
+ @keyframes toastOut {
274
+ from {
275
+ opacity: 1;
276
+ transform: translateY(0) scale(1);
277
+ }
278
+ to {
279
+ opacity: 0;
280
+ transform: translateY(-100%) scale(0.9);
281
+ }
282
+ }
283
+
284
+ .toast {
285
+ animation: toastIn 0.3s var(--ease-bounce);
286
+ }
287
+
288
+ .toast.exiting {
289
+ animation: toastOut 0.2s var(--ease-in) forwards;
290
+ }
291
+ ```
292
+
293
+ ### 4.5 Tooltip
294
+
295
+ ```css
296
+ .tooltip {
297
+ opacity: 0;
298
+ transform: translateY(5px);
299
+ transition: all 0.15s var(--ease-out);
300
+ pointer-events: none;
301
+ }
302
+
303
+ .tooltip.visible {
304
+ opacity: 1;
305
+ transform: translateY(0);
306
+ }
307
+
308
+ /* 不同方向 */
309
+ .tooltip-top { transform: translateY(-5px); }
310
+ .tooltip-bottom { transform: translateY(5px); }
311
+ .tooltip-left { transform: translateX(-5px); }
312
+ .tooltip-right { transform: translateX(5px); }
313
+ ```
314
+
315
+ ---
316
+
317
+ ## 5. 微交互
318
+
319
+ ### 5.1 按钮效果
320
+
321
+ ```css
322
+ /* 基础按钮 */
323
+ .btn {
324
+ transition: all 0.2s var(--ease-out);
325
+ }
326
+
327
+ .btn:hover {
328
+ transform: translateY(-2px);
329
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
330
+ }
331
+
332
+ .btn:active {
333
+ transform: translateY(0);
334
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
335
+ }
336
+
337
+ /* 涟漪效果 */
338
+ .btn-ripple {
339
+ position: relative;
340
+ overflow: hidden;
341
+ }
342
+
343
+ .btn-ripple::after {
344
+ content: '';
345
+ position: absolute;
346
+ width: 100%;
347
+ height: 100%;
348
+ top: 0;
349
+ left: 0;
350
+ background: radial-gradient(circle, rgba(255,255,255,0.3) 10%, transparent 10%);
351
+ background-position: center;
352
+ background-size: 0;
353
+ transition: background-size 0.5s ease;
354
+ }
355
+
356
+ .btn-ripple:active::after {
357
+ background-size: 1000%;
358
+ transition: background-size 0s;
359
+ }
360
+
361
+ /* 发光效果 */
362
+ .btn-glow:hover {
363
+ box-shadow: 0 0 20px var(--color-primary);
364
+ }
365
+ ```
366
+
367
+ ### 5.2 输入框效果
368
+
369
+ ```css
370
+ .input {
371
+ transition: all 0.2s var(--ease-out);
372
+ border: 2px solid var(--color-border);
373
+ }
374
+
375
+ .input:focus {
376
+ border-color: var(--color-primary);
377
+ box-shadow: 0 0 0 3px var(--color-primary-light);
378
+ }
379
+
380
+ /* 浮动标签 */
381
+ .input-label {
382
+ position: absolute;
383
+ top: 50%;
384
+ left: 12px;
385
+ transform: translateY(-50%);
386
+ transition: all 0.2s var(--ease-out);
387
+ pointer-events: none;
388
+ }
389
+
390
+ .input:focus + .input-label,
391
+ .input:not(:placeholder-shown) + .input-label {
392
+ top: 0;
393
+ font-size: 0.75rem;
394
+ background: white;
395
+ padding: 0 4px;
396
+ }
397
+ ```
398
+
399
+ ### 5.3 卡片效果
400
+
401
+ ```css
402
+ .card {
403
+ transition: all 0.3s var(--ease-out);
404
+ }
405
+
406
+ .card:hover {
407
+ transform: translateY(-4px);
408
+ box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
409
+ }
410
+
411
+ /* 3D 倾斜效果 */
412
+ .card-tilt {
413
+ transform-style: preserve-3d;
414
+ transition: transform 0.3s ease;
415
+ }
416
+
417
+ .card-tilt:hover {
418
+ transform: perspective(1000px) rotateX(5deg) rotateY(-5deg);
419
+ }
420
+ ```
421
+
422
+ ### 5.4 开关/切换
423
+
424
+ ```css
425
+ .toggle {
426
+ width: 48px;
427
+ height: 24px;
428
+ background: var(--color-border);
429
+ border-radius: 12px;
430
+ transition: background 0.2s ease;
431
+ }
432
+
433
+ .toggle.active {
434
+ background: var(--color-primary);
435
+ }
436
+
437
+ .toggle-knob {
438
+ width: 20px;
439
+ height: 20px;
440
+ background: white;
441
+ border-radius: 50%;
442
+ transform: translateX(2px);
443
+ transition: transform 0.2s var(--ease-bounce);
444
+ }
445
+
446
+ .toggle.active .toggle-knob {
447
+ transform: translateX(26px);
448
+ }
449
+ ```
450
+
451
+ ---
452
+
453
+ ## 6. 滚动动画
454
+
455
+ ### 6.1 滚动触发 (CSS Only)
456
+
457
+ ```css
458
+ /* 使用 Intersection Observer 触发 */
459
+ .scroll-reveal {
460
+ opacity: 0;
461
+ transform: translateY(30px);
462
+ transition: all 0.6s var(--ease-out);
463
+ }
464
+
465
+ .scroll-reveal.visible {
466
+ opacity: 1;
467
+ transform: translateY(0);
468
+ }
469
+ ```
470
+
471
+ ### 6.2 视差效果
472
+
473
+ ```css
474
+ .parallax-container {
475
+ overflow: hidden;
476
+ }
477
+
478
+ .parallax-bg {
479
+ transform: translateY(calc(var(--scroll) * 0.5));
480
+ will-change: transform;
481
+ }
482
+ ```
483
+
484
+ ### 6.3 滚动进度条
485
+
486
+ ```css
487
+ .scroll-progress {
488
+ position: fixed;
489
+ top: 0;
490
+ left: 0;
491
+ height: 3px;
492
+ background: var(--color-primary);
493
+ transform-origin: left;
494
+ transform: scaleX(var(--scroll-progress, 0));
495
+ z-index: 9999;
496
+ }
497
+ ```
498
+
499
+ ---
500
+
501
+ ## 7. 加载状态
502
+
503
+ ### 7.1 Spinner
504
+
505
+ ```css
506
+ @keyframes spin {
507
+ to { transform: rotate(360deg); }
508
+ }
509
+
510
+ .spinner {
511
+ width: 24px;
512
+ height: 24px;
513
+ border: 3px solid var(--color-border);
514
+ border-top-color: var(--color-primary);
515
+ border-radius: 50%;
516
+ animation: spin 0.8s linear infinite;
517
+ }
518
+ ```
519
+
520
+ ### 7.2 Skeleton
521
+
522
+ ```css
523
+ @keyframes shimmer {
524
+ 0% { background-position: -200% 0; }
525
+ 100% { background-position: 200% 0; }
526
+ }
527
+
528
+ .skeleton {
529
+ background: linear-gradient(
530
+ 90deg,
531
+ var(--color-border) 25%,
532
+ var(--color-background) 50%,
533
+ var(--color-border) 75%
534
+ );
535
+ background-size: 200% 100%;
536
+ animation: shimmer 1.5s infinite;
537
+ border-radius: var(--radius-md);
538
+ }
539
+ ```
540
+
541
+ ### 7.3 脉冲效果
542
+
543
+ ```css
544
+ @keyframes pulse {
545
+ 0%, 100% { opacity: 1; }
546
+ 50% { opacity: 0.5; }
547
+ }
548
+
549
+ .pulse {
550
+ animation: pulse 2s ease-in-out infinite;
551
+ }
552
+ ```
553
+
554
+ ### 7.4 进度条
555
+
556
+ ```css
557
+ .progress-bar {
558
+ height: 4px;
559
+ background: var(--color-border);
560
+ border-radius: 2px;
561
+ overflow: hidden;
562
+ }
563
+
564
+ .progress-fill {
565
+ height: 100%;
566
+ background: var(--color-primary);
567
+ transition: width 0.3s var(--ease-out);
568
+ }
569
+
570
+ /* 不确定进度 */
571
+ @keyframes indeterminate {
572
+ 0% { transform: translateX(-100%); }
573
+ 100% { transform: translateX(100%); }
574
+ }
575
+
576
+ .progress-indeterminate .progress-fill {
577
+ width: 50%;
578
+ animation: indeterminate 1.5s ease-in-out infinite;
579
+ }
580
+ ```
581
+
582
+ ---
583
+
584
+ ## 8. 代码片段库
585
+
586
+ ### 8.1 可访问性
587
+
588
+ ```css
589
+ /* 尊重用户偏好 */
590
+ @media (prefers-reduced-motion: reduce) {
591
+ *,
592
+ *::before,
593
+ *::after {
594
+ animation-duration: 0.01ms !important;
595
+ animation-iteration-count: 1 !important;
596
+ transition-duration: 0.01ms !important;
597
+ }
598
+ }
599
+ ```
600
+
601
+ ### 8.2 性能优化
602
+
603
+ ```css
604
+ /* GPU 加速 */
605
+ .gpu-accelerated {
606
+ transform: translateZ(0);
607
+ will-change: transform, opacity;
608
+ }
609
+
610
+ /* 避免布局抖动 */
611
+ .no-layout-shift {
612
+ contain: layout;
613
+ }
614
+ ```
615
+
616
+ ### 8.3 完整动画类库
617
+
618
+ ```css
619
+ /* 工具类 */
620
+ .animate-fade-in { animation: fadeIn 0.3s var(--ease-out); }
621
+ .animate-fade-in-up { animation: fadeInUp 0.4s var(--ease-out); }
622
+ .animate-fade-in-down { animation: fadeInDown 0.4s var(--ease-out); }
623
+ .animate-scale-in { animation: fadeInScale 0.3s var(--ease-out); }
624
+ .animate-slide-in-right { animation: slideInRight 0.4s var(--ease-out); }
625
+ .animate-bounce { animation: bounce 0.5s var(--ease-bounce); }
626
+
627
+ /* 延迟类 */
628
+ .delay-100 { animation-delay: 100ms; }
629
+ .delay-200 { animation-delay: 200ms; }
630
+ .delay-300 { animation-delay: 300ms; }
631
+ .delay-400 { animation-delay: 400ms; }
632
+ .delay-500 { animation-delay: 500ms; }
633
+
634
+ /* 时长类 */
635
+ .duration-150 { animation-duration: 150ms; }
636
+ .duration-200 { animation-duration: 200ms; }
637
+ .duration-300 { animation-duration: 300ms; }
638
+ .duration-500 { animation-duration: 500ms; }
639
+ ```
640
+
641
+ ---
642
+
643
+ ## 快速参考
644
+
645
+ ```
646
+ ╔═══════════════════════════════════════════════════════════════╗
647
+ ║ 动效速查 ║
648
+ ╠═══════════════════════════════════════════════════════════════╣
649
+ ║ ║
650
+ ║ 时长: 微交互 100-200ms | 过渡 200-400ms | 强调 400-1000ms ║
651
+ ║ ║
652
+ ║ 缓动: 进入用 ease-out | 退出用 ease-in | 切换用 ease-in-out ║
653
+ ║ ║
654
+ ║ 性能: 只动 transform/opacity | 用 will-change | GPU 加速 ║
655
+ ║ ║
656
+ ║ 可访问: 始终检查 prefers-reduced-motion ║
657
+ ║ ║
658
+ ╚═══════════════════════════════════════════════════════════════╝
659
+ ```