@mison/ling 1.0.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.
- package/.agents/.shared/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agents/.shared/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agents/.shared/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agents/.shared/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agents/.shared/ui-ux-pro-max/data/products.csv +97 -0
- package/.agents/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agents/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agents/.shared/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agents/.shared/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agents/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agents/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agents/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agents/.shared/ui-ux-pro-max/scripts/core.py +258 -0
- package/.agents/.shared/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/.agents/.shared/ui-ux-pro-max/scripts/search.py +106 -0
- package/.agents/ARCHITECTURE.md +285 -0
- package/.agents/agents/backend-specialist.md +268 -0
- package/.agents/agents/code-archaeologist.md +106 -0
- package/.agents/agents/database-architect.md +225 -0
- package/.agents/agents/debugger.md +225 -0
- package/.agents/agents/devops-engineer.md +242 -0
- package/.agents/agents/documentation-writer.md +104 -0
- package/.agents/agents/explorer-agent.md +73 -0
- package/.agents/agents/frontend-specialist.md +618 -0
- package/.agents/agents/game-developer.md +162 -0
- package/.agents/agents/mobile-developer.md +382 -0
- package/.agents/agents/orchestrator.md +436 -0
- package/.agents/agents/penetration-tester.md +188 -0
- package/.agents/agents/performance-optimizer.md +187 -0
- package/.agents/agents/product-manager.md +112 -0
- package/.agents/agents/product-owner.md +95 -0
- package/.agents/agents/project-planner.md +405 -0
- package/.agents/agents/qa-automation-engineer.md +103 -0
- package/.agents/agents/security-auditor.md +170 -0
- package/.agents/agents/seo-specialist.md +111 -0
- package/.agents/agents/test-engineer.md +158 -0
- package/.agents/mcp_config.json +22 -0
- package/.agents/rules/GEMINI.md +273 -0
- package/.agents/scripts/auto_preview.py +148 -0
- package/.agents/scripts/checklist.py +217 -0
- package/.agents/scripts/session_manager.py +120 -0
- package/.agents/scripts/verify_all.py +327 -0
- package/.agents/skills/api-patterns/SKILL.md +84 -0
- package/.agents/skills/api-patterns/api-style.md +42 -0
- package/.agents/skills/api-patterns/auth.md +24 -0
- package/.agents/skills/api-patterns/documentation.md +26 -0
- package/.agents/skills/api-patterns/graphql.md +41 -0
- package/.agents/skills/api-patterns/rate-limiting.md +31 -0
- package/.agents/skills/api-patterns/response.md +37 -0
- package/.agents/skills/api-patterns/rest.md +40 -0
- package/.agents/skills/api-patterns/scripts/api_validator.py +211 -0
- package/.agents/skills/api-patterns/security-testing.md +122 -0
- package/.agents/skills/api-patterns/trpc.md +41 -0
- package/.agents/skills/api-patterns/versioning.md +22 -0
- package/.agents/skills/app-builder/SKILL.md +75 -0
- package/.agents/skills/app-builder/agent-coordination.md +74 -0
- package/.agents/skills/app-builder/feature-building.md +53 -0
- package/.agents/skills/app-builder/project-detection.md +34 -0
- package/.agents/skills/app-builder/scaffolding.md +118 -0
- package/.agents/skills/app-builder/tech-stack.md +40 -0
- package/.agents/skills/app-builder/templates/SKILL.md +39 -0
- package/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.agents/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
- package/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
- package/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
- package/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
- package/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
- package/.agents/skills/architecture/SKILL.md +57 -0
- package/.agents/skills/architecture/context-discovery.md +43 -0
- package/.agents/skills/architecture/examples.md +94 -0
- package/.agents/skills/architecture/pattern-selection.md +68 -0
- package/.agents/skills/architecture/patterns-reference.md +50 -0
- package/.agents/skills/architecture/trade-off-analysis.md +77 -0
- package/.agents/skills/bash-linux/SKILL.md +201 -0
- package/.agents/skills/behavioral-modes/SKILL.md +264 -0
- package/.agents/skills/brainstorming/SKILL.md +164 -0
- package/.agents/skills/brainstorming/dynamic-questioning.md +359 -0
- package/.agents/skills/clean-code/SKILL.md +200 -0
- package/.agents/skills/code-review-checklist/SKILL.md +125 -0
- package/.agents/skills/database-design/SKILL.md +54 -0
- package/.agents/skills/database-design/database-selection.md +43 -0
- package/.agents/skills/database-design/indexing.md +39 -0
- package/.agents/skills/database-design/migrations.md +50 -0
- package/.agents/skills/database-design/optimization.md +36 -0
- package/.agents/skills/database-design/orm-selection.md +30 -0
- package/.agents/skills/database-design/schema-design.md +56 -0
- package/.agents/skills/database-design/scripts/schema_validator.py +172 -0
- package/.agents/skills/deployment-procedures/SKILL.md +241 -0
- package/.agents/skills/doc.md +177 -0
- package/.agents/skills/documentation-templates/SKILL.md +194 -0
- package/.agents/skills/frontend-design/SKILL.md +418 -0
- package/.agents/skills/frontend-design/animation-guide.md +331 -0
- package/.agents/skills/frontend-design/color-system.md +307 -0
- package/.agents/skills/frontend-design/decision-trees.md +418 -0
- package/.agents/skills/frontend-design/motion-graphics.md +306 -0
- package/.agents/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/.agents/skills/frontend-design/scripts/ux_audit.py +727 -0
- package/.agents/skills/frontend-design/typography-system.md +345 -0
- package/.agents/skills/frontend-design/ux-psychology.md +1118 -0
- package/.agents/skills/frontend-design/visual-effects.md +383 -0
- package/.agents/skills/game-development/2d-games/SKILL.md +119 -0
- package/.agents/skills/game-development/3d-games/SKILL.md +135 -0
- package/.agents/skills/game-development/SKILL.md +167 -0
- package/.agents/skills/game-development/game-art/SKILL.md +185 -0
- package/.agents/skills/game-development/game-audio/SKILL.md +190 -0
- package/.agents/skills/game-development/game-design/SKILL.md +129 -0
- package/.agents/skills/game-development/mobile-games/SKILL.md +108 -0
- package/.agents/skills/game-development/multiplayer/SKILL.md +132 -0
- package/.agents/skills/game-development/pc-games/SKILL.md +144 -0
- package/.agents/skills/game-development/vr-ar/SKILL.md +123 -0
- package/.agents/skills/game-development/web-games/SKILL.md +150 -0
- package/.agents/skills/geo-fundamentals/SKILL.md +155 -0
- package/.agents/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/.agents/skills/i18n-localization/SKILL.md +154 -0
- package/.agents/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/.agents/skills/intelligent-routing/SKILL.md +335 -0
- package/.agents/skills/lint-and-validate/SKILL.md +44 -0
- package/.agents/skills/lint-and-validate/scripts/lint_runner.py +184 -0
- package/.agents/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/.agents/skills/mcp-builder/SKILL.md +176 -0
- package/.agents/skills/mobile-design/SKILL.md +394 -0
- package/.agents/skills/mobile-design/decision-trees.md +516 -0
- package/.agents/skills/mobile-design/mobile-backend.md +491 -0
- package/.agents/skills/mobile-design/mobile-color-system.md +420 -0
- package/.agents/skills/mobile-design/mobile-debugging.md +122 -0
- package/.agents/skills/mobile-design/mobile-design-thinking.md +355 -0
- package/.agents/skills/mobile-design/mobile-navigation.md +458 -0
- package/.agents/skills/mobile-design/mobile-performance.md +767 -0
- package/.agents/skills/mobile-design/mobile-testing.md +356 -0
- package/.agents/skills/mobile-design/mobile-typography.md +432 -0
- package/.agents/skills/mobile-design/platform-android.md +666 -0
- package/.agents/skills/mobile-design/platform-ios.md +561 -0
- package/.agents/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/.agents/skills/mobile-design/touch-psychology.md +537 -0
- package/.agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +311 -0
- package/.agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +241 -0
- package/.agents/skills/nextjs-react-expert/3-server-server-side-performance.md +489 -0
- package/.agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +263 -0
- package/.agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
- package/.agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md +431 -0
- package/.agents/skills/nextjs-react-expert/7-js-javascript-performance.md +683 -0
- package/.agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +149 -0
- package/.agents/skills/nextjs-react-expert/SKILL.md +286 -0
- package/.agents/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
- package/.agents/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
- package/.agents/skills/nodejs-best-practices/SKILL.md +333 -0
- package/.agents/skills/parallel-agents/SKILL.md +193 -0
- package/.agents/skills/performance-profiling/SKILL.md +149 -0
- package/.agents/skills/performance-profiling/scripts/lighthouse_audit.py +120 -0
- package/.agents/skills/plan-writing/SKILL.md +152 -0
- package/.agents/skills/powershell-windows/SKILL.md +166 -0
- package/.agents/skills/python-patterns/SKILL.md +441 -0
- package/.agents/skills/red-team-tactics/SKILL.md +203 -0
- package/.agents/skills/refactoring-patterns/SKILL.md +43 -0
- package/.agents/skills/rust-pro/SKILL.md +190 -0
- package/.agents/skills/seo-fundamentals/SKILL.md +135 -0
- package/.agents/skills/seo-fundamentals/scripts/seo_checker.py +215 -0
- package/.agents/skills/server-management/SKILL.md +161 -0
- package/.agents/skills/systematic-debugging/SKILL.md +114 -0
- package/.agents/skills/tailwind-patterns/SKILL.md +269 -0
- package/.agents/skills/tdd-workflow/SKILL.md +149 -0
- package/.agents/skills/testing-patterns/SKILL.md +178 -0
- package/.agents/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/.agents/skills/vulnerability-scanner/SKILL.md +276 -0
- package/.agents/skills/vulnerability-scanner/checklists.md +131 -0
- package/.agents/skills/vulnerability-scanner/scripts/__pycache__/security_scan.cpython-310.pyc +0 -0
- package/.agents/skills/vulnerability-scanner/scripts/security_scan.py +524 -0
- package/.agents/skills/web-design-guidelines/SKILL.md +57 -0
- package/.agents/skills/webapp-testing/SKILL.md +187 -0
- package/.agents/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/.agents/workflows/brainstorm.md +113 -0
- package/.agents/workflows/create.md +59 -0
- package/.agents/workflows/debug.md +103 -0
- package/.agents/workflows/deploy.md +176 -0
- package/.agents/workflows/enhance.md +63 -0
- package/.agents/workflows/orchestrate.md +242 -0
- package/.agents/workflows/plan.md +89 -0
- package/.agents/workflows/preview.md +80 -0
- package/.agents/workflows/restore-localize-compat.md +525 -0
- package/.agents/workflows/status.md +86 -0
- package/.agents/workflows/test.md +144 -0
- package/.agents/workflows/ui-ux-pro-max.md +295 -0
- package/.spec/profiles/codex/AGENTS.spec.md +7 -0
- package/.spec/profiles/codex/ling.spec.rules.md +4 -0
- package/.spec/profiles/gemini/GEMINI.spec.md +5 -0
- package/.spec/references/README.md +36 -0
- package/.spec/references/cse-quickstart.md +96 -0
- package/.spec/references/gda-framework.md +394 -0
- package/.spec/references/harness-engineering-digest.md +93 -0
- package/.spec/skills/cybernetic-systems-engineering/SKILL.md +792 -0
- package/.spec/skills/cybernetic-systems-engineering/agents/openai.yaml +5 -0
- package/.spec/skills/cybernetic-systems-engineering/assets/quickstart.md +96 -0
- package/.spec/skills/cybernetic-systems-engineering/references/README.md +36 -0
- package/.spec/skills/cybernetic-systems-engineering/references/gda-framework.md +394 -0
- package/.spec/skills/cybernetic-systems-engineering/scripts/issues.csv +20 -0
- package/.spec/skills/harness-engineering/SKILL.md +100 -0
- package/.spec/skills/harness-engineering/agents/openai.yaml +4 -0
- package/.spec/skills/harness-engineering/references/harness-engineering-digest.md +93 -0
- package/.spec/templates/driver-prompt.md +7 -0
- package/.spec/templates/handoff.md +9 -0
- package/.spec/templates/issues.template.csv +2 -0
- package/.spec/templates/phase-acceptance.md +9 -0
- package/.spec/templates/review-report.md +9 -0
- package/AGENT_FLOW.md +609 -0
- package/CHANGELOG.md +43 -0
- package/LICENSE +21 -0
- package/README.md +359 -0
- package/bin/adapters/base.js +63 -0
- package/bin/adapters/codex.js +421 -0
- package/bin/adapters/gemini.js +157 -0
- package/bin/ag-kit.js +2266 -0
- package/bin/core/builder.js +80 -0
- package/bin/core/generator.js +59 -0
- package/bin/core/resource-loader.js +64 -0
- package/bin/core/transformer.js +208 -0
- package/bin/interactive.js +65 -0
- package/bin/ling.js +3 -0
- package/bin/utils/atomic-writer.js +97 -0
- package/bin/utils/git-helper.js +68 -0
- package/bin/utils/managed-block.js +65 -0
- package/bin/utils/manifest.js +244 -0
- package/bin/utils.js +89 -0
- package/docs/PLAN.md +54 -0
- package/docs/TECH.md +191 -0
- package/package.json +56 -0
- package/scripts/ci-verify.js +110 -0
- package/scripts/clean.js +123 -0
- package/scripts/health-check.js +143 -0
- package/scripts/health-check.sh +6 -0
- package/scripts/postinstall-check.js +112 -0
- package/scripts/run-tests.js +49 -0
- package/tests/atomic-writer.test.js +47 -0
- package/tests/clean-script.test.js +77 -0
- package/tests/cli-smoke.test.js +479 -0
- package/tests/codex-adapter.test.js +132 -0
- package/tests/doctor.test.js +94 -0
- package/tests/gemini-adapter.test.js +30 -0
- package/tests/generator.test.js +48 -0
- package/tests/git-helper.test.js +53 -0
- package/tests/global-sync.test.js +133 -0
- package/tests/health-check-script.test.js +34 -0
- package/tests/managed-block.test.js +41 -0
- package/tests/manifest.test.js +97 -0
- package/tests/package-tarball.test.js +33 -0
- package/tests/phase-c.test.js +107 -0
- package/tests/spec-profile.test.js +86 -0
- package/tests/standards-compliance.test.js +303 -0
- package/tests/transformer.test.js +74 -0
- package/tests/versioning.test.js +51 -0
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
# 动画指南参考
|
|
2
|
+
|
|
3
|
+
> 动画原则与时间心理学——学会判断,而不是照抄。
|
|
4
|
+
> **不背固定时长——理解影响时间的因素。**
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. 时长原则
|
|
9
|
+
|
|
10
|
+
### 影响时长的因素
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
决定动画速度的因素:
|
|
14
|
+
+-- 距离:位移越远,时长越长
|
|
15
|
+
+-- 尺寸:元素越大,动画越慢
|
|
16
|
+
+-- 复杂度:越复杂越慢(处理时间更长)
|
|
17
|
+
+-- 重要性:关键动作需要清晰反馈
|
|
18
|
+
+-- 场景:紧急要快,奢华要慢
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### 按目的划分的时长区间
|
|
22
|
+
|
|
23
|
+
| 目的 | 时长范围 | 原因 |
|
|
24
|
+
|------|---------|------|
|
|
25
|
+
| 即时反馈 | 50-100ms | 低于感知阈值 |
|
|
26
|
+
| 微交互 | 100-200ms | 快但可感知 |
|
|
27
|
+
| 标准过渡 | 200-300ms | 舒适节奏 |
|
|
28
|
+
| 复杂动画 | 300-500ms | 有时间跟随 |
|
|
29
|
+
| 页面过渡 | 400-600ms | 平滑交接 |
|
|
30
|
+
| **Wow(高级感)效果** | 800ms+ | 戏剧性、自然弹性、分层 |
|
|
31
|
+
|
|
32
|
+
### 如何选择时长
|
|
33
|
+
|
|
34
|
+
自问:
|
|
35
|
+
1. 元素移动了多远?
|
|
36
|
+
2. 这个变化需要被注意到吗?
|
|
37
|
+
3. 用户在等待,还是这只是背景动效?
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 2. 缓动原则
|
|
42
|
+
|
|
43
|
+
### 缓动的作用
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
缓动 = 速度随时间的变化方式
|
|
47
|
+
+-- Linear(线性):匀速(机械、机器人感)
|
|
48
|
+
+-- Ease-out(缓出):快进慢出(自然进入)
|
|
49
|
+
+-- Ease-in(缓入):慢进快出(自然离开)
|
|
50
|
+
+-- Ease-in-out(缓入缓出):两端都慢(平滑、克制)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 各自适用场景
|
|
54
|
+
|
|
55
|
+
| 缓动 | 适用场景 | 感觉 |
|
|
56
|
+
|------|----------|------|
|
|
57
|
+
| **Ease-out(缓出)** | 元素进入 | 到达、落位 |
|
|
58
|
+
| **Ease-in(缓入)** | 元素离开 | 离场、退出 |
|
|
59
|
+
| **Ease-in-out(缓入缓出)** | 强调、循环 | 从容、平滑 |
|
|
60
|
+
| **Linear(线性)** | 连续运动 | 机械、恒定 |
|
|
61
|
+
| **Bounce/Elastic(弹跳/弹性)** | 活泼 UI | 有趣、充满能量 |
|
|
62
|
+
|
|
63
|
+
### 使用模式
|
|
64
|
+
|
|
65
|
+
```css
|
|
66
|
+
/* 进入视图 = ease-out(减速) */
|
|
67
|
+
.enter {
|
|
68
|
+
animation-timing-function: ease-out;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* 离开视图 = ease-in(加速) */
|
|
72
|
+
.exit {
|
|
73
|
+
animation-timing-function: ease-in;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/* 连续运动 = ease-in-out */
|
|
77
|
+
.continuous {
|
|
78
|
+
animation-timing-function: ease-in-out;
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 3. 微交互原则
|
|
85
|
+
|
|
86
|
+
### 好的微交互做什么
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
微交互的目的:
|
|
90
|
+
+-- 反馈:确认动作发生
|
|
91
|
+
+-- 引导:提示可操作项
|
|
92
|
+
+-- 状态:告知当前状态
|
|
93
|
+
+-- 愉悦:小而精致的快乐
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 按钮状态
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
Hover(悬停) -> 轻微视觉变化(抬升、颜色、缩放)
|
|
100
|
+
Active(按压) -> 按压感(缩小、阴影变化)
|
|
101
|
+
Focus(聚焦) -> 清晰指示(描边、光环)
|
|
102
|
+
Loading(加载) -> 进度提示(spinner(加载圈)、skeleton(骨架屏))
|
|
103
|
+
Success(成功) -> 成功确认(对勾、颜色)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 原则
|
|
107
|
+
|
|
108
|
+
1. **立即响应**(100ms 以内)
|
|
109
|
+
2. **与动作匹配**(按压 = `scale(0.95)`,悬停 = `translateY(-4px) + glow(发光)`)
|
|
110
|
+
3. **大胆但平滑**(像大师手感)
|
|
111
|
+
4. **保持一致**(同类动作 = 同类反馈)
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 4. 加载态原则
|
|
116
|
+
|
|
117
|
+
### 按场景分类
|
|
118
|
+
|
|
119
|
+
| 场景 | 做法 |
|
|
120
|
+
|------|------|
|
|
121
|
+
| 快速加载(<1s) | 不需要指示 |
|
|
122
|
+
| 中等(1-3s) | Spinner(加载圈)或简单动画 |
|
|
123
|
+
| 较慢(3s+) | 进度条或骨架屏 |
|
|
124
|
+
| 时长未知 | 不确定性指示器 |
|
|
125
|
+
|
|
126
|
+
### 骨架屏
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
目的:降低感知等待时间
|
|
130
|
+
+-- 立即显示布局轮廓
|
|
131
|
+
+-- 细微动画(shimmer、pulse)
|
|
132
|
+
+-- 内容就绪后替换
|
|
133
|
+
+-- 体感比 spinner(加载圈)更快
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### 进度指示
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
何时显示进度:
|
|
140
|
+
+-- 用户主动发起的动作
|
|
141
|
+
+-- 文件上传/下载
|
|
142
|
+
+-- 多步骤流程
|
|
143
|
+
+-- 长耗时操作
|
|
144
|
+
|
|
145
|
+
不需要进度的场景:
|
|
146
|
+
+-- 非常快的操作
|
|
147
|
+
+-- 后台任务
|
|
148
|
+
+-- 初始页面加载(骨架屏更好)
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 5. 页面过渡原则
|
|
154
|
+
|
|
155
|
+
### 过渡策略
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
简单规则:离开快,进入慢
|
|
159
|
+
+-- 退出内容快速淡出
|
|
160
|
+
+-- 进入内容再动入
|
|
161
|
+
+-- 避免“全部同时动”
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### 常见模式
|
|
165
|
+
|
|
166
|
+
| 模式 | 何时使用 |
|
|
167
|
+
|------|----------|
|
|
168
|
+
| **Fade(淡入淡出)** | 安全默认,通用 |
|
|
169
|
+
| **Slide(滑动)** | 顺序导航(上一页/下一页) |
|
|
170
|
+
| **Scale(缩放)** | 打开/关闭模态 |
|
|
171
|
+
| **Shared element(共享元素)** | 维持视觉连续性 |
|
|
172
|
+
|
|
173
|
+
### 方向匹配
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
导航方向 = 动画方向
|
|
177
|
+
+-- 前进 -> 从右滑入
|
|
178
|
+
+-- 后退 -> 从左滑入
|
|
179
|
+
+-- 更深入 -> 中心放大
|
|
180
|
+
+-- 返回上层 -> 缩小返回
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## 6. 滚动动画原则
|
|
186
|
+
|
|
187
|
+
### 渐进式呈现
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
内容随滚动出现:
|
|
191
|
+
+-- 降低初始认知负担
|
|
192
|
+
+-- 激励探索
|
|
193
|
+
+-- 不应拖沓
|
|
194
|
+
+-- 提供可关闭选项(无障碍)
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### 触发位置
|
|
198
|
+
|
|
199
|
+
| 触发时机 | 效果 |
|
|
200
|
+
|---------|------|
|
|
201
|
+
| 刚进入视口 | 标准出现 |
|
|
202
|
+
| 居中视口 | 强调 |
|
|
203
|
+
| 部分可见 | 提前出现 |
|
|
204
|
+
| 完全可见 | 延后触发 |
|
|
205
|
+
|
|
206
|
+
### 动画属性
|
|
207
|
+
|
|
208
|
+
- 淡入(opacity)
|
|
209
|
+
- 上移(transform)
|
|
210
|
+
- 缩放(transform)
|
|
211
|
+
- 以上组合
|
|
212
|
+
|
|
213
|
+
### 性能
|
|
214
|
+
|
|
215
|
+
- 使用 Intersection Observer(交叉观察器)
|
|
216
|
+
- 只动画 transform/opacity
|
|
217
|
+
- 移动端必要时降低动效
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## 7. 悬停效果原则
|
|
222
|
+
|
|
223
|
+
### 效果与意图匹配
|
|
224
|
+
|
|
225
|
+
| 元素 | 效果 | 意图 |
|
|
226
|
+
|------|------|------|
|
|
227
|
+
| **可点击卡片** | 抬升 + 阴影 | “可交互” |
|
|
228
|
+
| **按钮** | 颜色/亮度变化 | “按我” |
|
|
229
|
+
| **图片** | 放大/缩放 | “查看细节” |
|
|
230
|
+
| **链接** | 下划线/颜色 | “跳转这里” |
|
|
231
|
+
|
|
232
|
+
### 原则
|
|
233
|
+
|
|
234
|
+
1. **提示可交互** - 悬停应明确可点击
|
|
235
|
+
2. **适度** - 细微变化足够
|
|
236
|
+
3. **匹配重要性** - 越重要变化越明显
|
|
237
|
+
4. **触控替代** - 移动端无悬停
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## 8. 反馈动画原则
|
|
242
|
+
|
|
243
|
+
### 成功态
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
适度庆祝:
|
|
247
|
+
+-- 小动作 -> 轻微对勾/颜色
|
|
248
|
+
+-- 大动作 -> 更明显的动画
|
|
249
|
+
+-- 完成 -> 令人满意的收尾
|
|
250
|
+
+-- 与品牌气质匹配
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### 错误态
|
|
254
|
+
|
|
255
|
+
```
|
|
256
|
+
引起注意但不制造恐慌:
|
|
257
|
+
+-- 颜色变化(语义红)
|
|
258
|
+
+-- 抖动动画(短促)
|
|
259
|
+
+-- 聚焦错误字段
|
|
260
|
+
+-- 清晰的提示
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### 时机
|
|
264
|
+
|
|
265
|
+
- 成功:稍长(享受片刻)
|
|
266
|
+
- 错误:快速(不拖延)
|
|
267
|
+
- 加载:持续直到完成
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## 9. 性能原则
|
|
272
|
+
|
|
273
|
+
### 哪些动画成本低
|
|
274
|
+
|
|
275
|
+
```
|
|
276
|
+
GPU 加速(快):
|
|
277
|
+
+-- transform: translate, scale, rotate
|
|
278
|
+
+-- opacity: 0 to 1
|
|
279
|
+
|
|
280
|
+
CPU 高开销(慢):
|
|
281
|
+
+-- width, height
|
|
282
|
+
+-- top, left, right, bottom
|
|
283
|
+
+-- margin, padding
|
|
284
|
+
+-- border-radius 变化
|
|
285
|
+
+-- box-shadow 变化
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### 优化策略
|
|
289
|
+
|
|
290
|
+
1. **尽可能只动画 transform/opacity**
|
|
291
|
+
2. **避免触发布局**(尺寸/位置变化)
|
|
292
|
+
3. **谨慎使用 will-change**(给浏览器提示)
|
|
293
|
+
4. **低端设备也要测试**(不要只看开发机)
|
|
294
|
+
|
|
295
|
+
### 尊重用户偏好
|
|
296
|
+
|
|
297
|
+
```css
|
|
298
|
+
@media (prefers-reduced-motion: reduce) {
|
|
299
|
+
/* 尊重该偏好 */
|
|
300
|
+
/* 仅保留必要动画 */
|
|
301
|
+
/* 减少或移除装饰性动效 */
|
|
302
|
+
}
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## 10. 动画决策检查清单
|
|
308
|
+
|
|
309
|
+
添加动画前:
|
|
310
|
+
|
|
311
|
+
- [ ] **有明确目的?**(反馈/引导/愉悦)
|
|
312
|
+
- [ ] **时长合适?**(不太快/不太慢)
|
|
313
|
+
- [ ] **缓动选择正确?**(进入/离开/强调)
|
|
314
|
+
- [ ] **性能可接受?**(只动画 transform/opacity)
|
|
315
|
+
- [ ] **已考虑 reduced-motion(减少动效)?**(无障碍)
|
|
316
|
+
- [ ] **与其他动画一致?**(同类节奏)
|
|
317
|
+
- [ ] **不是你的默认模板?**(多样性检查)
|
|
318
|
+
- [ ] **不明确时已问用户风格?**
|
|
319
|
+
|
|
320
|
+
### 反模式
|
|
321
|
+
|
|
322
|
+
- [FAIL] 每个项目都用同一套时长
|
|
323
|
+
- [FAIL] 为动画而动画
|
|
324
|
+
- [FAIL] 忽略 reduced-motion(减少动效)偏好
|
|
325
|
+
- [FAIL] 动画高成本属性
|
|
326
|
+
- [FAIL] 太多元素同时动画
|
|
327
|
+
- [FAIL] 让用户等待过久
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
> **记住:** 动画是沟通。每一次运动都应有意义,服务于用户体验。
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
# 配色系统参考
|
|
2
|
+
|
|
3
|
+
> 色彩理论、选择流程与决策指南。
|
|
4
|
+
> **不背固定十六进制值——学会思考颜色。**
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. 色彩理论基础
|
|
9
|
+
|
|
10
|
+
### 色相环
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
黄色
|
|
14
|
+
|
|
|
15
|
+
黄绿 | 黄橙
|
|
16
|
+
╲ | ╱
|
|
17
|
+
╲ | ╱
|
|
18
|
+
绿色 ----------- o ----------- 橙色
|
|
19
|
+
╱ | ╲
|
|
20
|
+
╱ | ╲
|
|
21
|
+
蓝绿 | 红橙
|
|
22
|
+
|
|
|
23
|
+
红色
|
|
24
|
+
|
|
|
25
|
+
紫色
|
|
26
|
+
╱ ╲
|
|
27
|
+
蓝紫 红紫
|
|
28
|
+
╲ ╱
|
|
29
|
+
蓝色
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 色彩关系
|
|
33
|
+
|
|
34
|
+
| 方案 | 如何创建 | 何时使用 |
|
|
35
|
+
|------|---------|---------|
|
|
36
|
+
| **单色(Monochromatic)** | 选择一个色相,仅变化明度/饱和度 | 极简、专业、一致 |
|
|
37
|
+
| **相邻色(Analogous)** | 选择色轮相邻的 2-3 个色相 | 和谐、平静、自然感 |
|
|
38
|
+
| **互补色(Complementary)** | 选择色轮相对的色相 | 高对比、醒目、吸引注意 |
|
|
39
|
+
| **分裂互补(Split-Complementary)** | 主色 + 互补色相邻两色 | 动态但平衡 |
|
|
40
|
+
| **三分色(Triadic)** | 色轮等距三色 | 活泼、创造力强 |
|
|
41
|
+
|
|
42
|
+
### 如何选择方案:
|
|
43
|
+
1. **项目气质是什么?** 冷静 -> 相邻色;大胆 -> 互补色。
|
|
44
|
+
2. **需要多少颜色?** 极简 -> 单色;复杂 -> 三分色。
|
|
45
|
+
3. **受众是谁?** 保守 -> 单色;年轻 -> 三分色。
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 2. 60-30-10 规则
|
|
50
|
+
|
|
51
|
+
### 分布原则
|
|
52
|
+
```
|
|
53
|
+
+-------------------------------------------------+
|
|
54
|
+
| |
|
|
55
|
+
| 60% 主色(背景、大面积区域) |
|
|
56
|
+
| -> 应偏中性或平静 |
|
|
57
|
+
| -> 决定整体基调 |
|
|
58
|
+
| |
|
|
59
|
+
+------------------------------------+------------+
|
|
60
|
+
| | |
|
|
61
|
+
| 30% 次级色 | 10% 点缀色 |
|
|
62
|
+
| (卡片、区块、标题) | (CTA(行动号召)、 |
|
|
63
|
+
| -> 支撑而不抢戏 | 高亮) |
|
|
64
|
+
| | -> 吸引注意 |
|
|
65
|
+
+------------------------------------+------------+
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 实现方式
|
|
69
|
+
```css
|
|
70
|
+
:root {
|
|
71
|
+
/* 60% - 依据浅/深色模式与情绪选择 */
|
|
72
|
+
--color-bg: /* 中性色:白、米白或深灰 */
|
|
73
|
+
--color-surface: /* 比背景略有差异 */
|
|
74
|
+
|
|
75
|
+
/* 30% - 依据品牌或场景选择 */
|
|
76
|
+
--color-secondary: /* 主色的柔和版本或中性色 */
|
|
77
|
+
|
|
78
|
+
/* 10% - 依据动作/情绪选择 */
|
|
79
|
+
--color-accent: /* 鲜明、吸引注意 */
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 3. 色彩心理 - 含义与选择
|
|
86
|
+
|
|
87
|
+
### 按场景选择
|
|
88
|
+
|
|
89
|
+
| 项目类型 | 参考色系 | 原因 |
|
|
90
|
+
|---------|---------|------|
|
|
91
|
+
| **金融、科技、医疗** | 蓝、青 | 信任、稳定、平静 |
|
|
92
|
+
| **环保、健康、自然** | 绿、土色 | 成长、健康、有机 |
|
|
93
|
+
| **食品、能量、年轻** | 橙、黄、暖色 | 食欲、兴奋、温暖 |
|
|
94
|
+
| **奢华、美妆、创意** | 深青、金、黑 | 高级、精致 |
|
|
95
|
+
| **紧迫、促销、警报** | 红、橙 | 行动、注意、热度 |
|
|
96
|
+
|
|
97
|
+
### 情绪联想(用于决策)
|
|
98
|
+
|
|
99
|
+
| 色系 | 正向联想 | 注意事项 |
|
|
100
|
+
|------|---------|---------|
|
|
101
|
+
| **蓝** | 信任、平静、专业 | 可能显得冷、过度企业化 |
|
|
102
|
+
| **绿** | 成长、自然、成功 | 过度使用会显得无聊 |
|
|
103
|
+
| **红** | 热情、紧迫、能量 | 刺激强,谨慎使用 |
|
|
104
|
+
| **橙** | 温暖、友好、创意 | 过饱和会显得廉价 |
|
|
105
|
+
| **紫** | [WARN] **禁用** - AI 过度使用! | 改用深青/酒红/祖母绿 |
|
|
106
|
+
| **黄** | 乐观、注意、快乐 | 可读性差,建议作点缀 |
|
|
107
|
+
| **黑** | 优雅、力量、现代 | 可能显得沉重 |
|
|
108
|
+
| **白** | 干净、极简、开放 | 可能显得冷淡 |
|
|
109
|
+
|
|
110
|
+
### 选择流程:
|
|
111
|
+
1. **行业是什么?** -> 缩小到 2-3 个色系
|
|
112
|
+
2. **情绪是什么?** -> 选择主色
|
|
113
|
+
3. **对比如何?** -> 决定浅/深色模式
|
|
114
|
+
4. **询问用户** -> 未明确前先确认
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## 4. 调色板生成原则
|
|
119
|
+
|
|
120
|
+
### 从单色出发(HSL 方法)
|
|
121
|
+
|
|
122
|
+
不要背十六进制,学会**操作 HSL**:
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
HSL = Hue(色相), Saturation(饱和度), Lightness(明度)
|
|
126
|
+
|
|
127
|
+
Hue(0-360):色相
|
|
128
|
+
0/360 = 红
|
|
129
|
+
60 = 黄
|
|
130
|
+
120 = 绿
|
|
131
|
+
180 = 青
|
|
132
|
+
240 = 蓝
|
|
133
|
+
300 = 紫
|
|
134
|
+
|
|
135
|
+
Saturation(0-100%):饱和度
|
|
136
|
+
低 = 柔和、克制
|
|
137
|
+
高 = 鲜明、活力
|
|
138
|
+
|
|
139
|
+
Lightness(0-100%):明度
|
|
140
|
+
0% = 黑
|
|
141
|
+
50% = 纯色
|
|
142
|
+
100% = 白
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### 生成完整色阶
|
|
146
|
+
|
|
147
|
+
给定任意基色,生成等级:
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
Lightness Scale:
|
|
151
|
+
50 (最浅) -> L: 97%
|
|
152
|
+
100 -> L: 94%
|
|
153
|
+
200 -> L: 86%
|
|
154
|
+
300 -> L: 74%
|
|
155
|
+
400 -> L: 66%
|
|
156
|
+
500(基色) -> L: 50-60%
|
|
157
|
+
600 -> L: 48%
|
|
158
|
+
700 -> L: 38%
|
|
159
|
+
800 -> L: 30%
|
|
160
|
+
900(最深) -> L: 20%
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### 饱和度调整
|
|
164
|
+
|
|
165
|
+
| 场景 | 饱和度水平 |
|
|
166
|
+
|------|-----------|
|
|
167
|
+
| **专业/企业** | 较低(40-60%) |
|
|
168
|
+
| **活泼/年轻** | 较高(70-90%) |
|
|
169
|
+
| **深色模式** | 降低 10-20% |
|
|
170
|
+
| **无障碍** | 保证对比度,必要时调整 |
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 5. 基于上下文的选择指南
|
|
175
|
+
|
|
176
|
+
### 不要直接抄配色,按流程选择:
|
|
177
|
+
|
|
178
|
+
**步骤 1:识别上下文**
|
|
179
|
+
```
|
|
180
|
+
项目类型?
|
|
181
|
+
+-- 电商 -> 需要信任 + 紧迫的平衡
|
|
182
|
+
+-- SaaS(软件即服务)/仪表盘 -> 低疲劳、数据导向
|
|
183
|
+
+-- 健康/医疗 -> 平静、自然
|
|
184
|
+
+-- 奢华/高端 -> 克制优雅
|
|
185
|
+
+-- 创意/作品集 -> 具个性、易记忆
|
|
186
|
+
+-- 其他 -> 询问用户
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**步骤 2:选择主色系**
|
|
190
|
+
```
|
|
191
|
+
基于上下文,选一个:
|
|
192
|
+
- 蓝色系(信任)
|
|
193
|
+
- 绿色系(成长)
|
|
194
|
+
- 暖色系(能量)
|
|
195
|
+
- 中性色系(优雅)
|
|
196
|
+
- 或直接询问用户偏好
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**步骤 3:确定浅色/深色模式**
|
|
200
|
+
```
|
|
201
|
+
考虑:
|
|
202
|
+
- 用户偏好?
|
|
203
|
+
- 行业习惯?
|
|
204
|
+
- 内容类型?(文字多 -> 浅色优先)
|
|
205
|
+
- 使用时间?(夜间应用 -> 深色优先)
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**步骤 4:按原则生成色板**
|
|
209
|
+
- 使用 HSL 调整
|
|
210
|
+
- 遵循 60-30-10 规则
|
|
211
|
+
- 检查对比度(WCAG,无障碍标准)
|
|
212
|
+
- 用真实内容测试
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## 6. 深色模式原则
|
|
217
|
+
|
|
218
|
+
### 关键规则(不背固定值)
|
|
219
|
+
|
|
220
|
+
1. **不要纯黑** -> 使用略带色相的深灰
|
|
221
|
+
2. **不要纯白文字** -> 使用 87-92% 明度
|
|
222
|
+
3. **降低饱和度** -> 深色模式中色彩更刺眼
|
|
223
|
+
4. **层级 = 亮度** -> 更高层级略亮
|
|
224
|
+
|
|
225
|
+
### 深色模式对比
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
背景层级(从暗到亮):
|
|
229
|
+
Layer 0(基底) -> 最暗
|
|
230
|
+
Layer 1(卡片) -> 稍亮
|
|
231
|
+
Layer 2(弹窗) -> 更亮
|
|
232
|
+
Layer 3(浮层) -> 最亮的深色
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### 深色模式色彩调整
|
|
236
|
+
|
|
237
|
+
| 浅色模式 | 深色模式调整 |
|
|
238
|
+
|----------|---------------|
|
|
239
|
+
| 高饱和点缀 | 降低饱和度 10-20% |
|
|
240
|
+
| 纯白背景 | 略带品牌色的深灰 |
|
|
241
|
+
| 黑色文字 | 浅灰(非纯白) |
|
|
242
|
+
| 彩色背景 | 降饱和、更深版本 |
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## 7. 无障碍指南
|
|
247
|
+
|
|
248
|
+
### 对比度要求(WCAG,无障碍标准)
|
|
249
|
+
|
|
250
|
+
| 等级 | 正文 | 大文字 |
|
|
251
|
+
|------|------|--------|
|
|
252
|
+
| AA(最低) | 4.5:1 | 3:1 |
|
|
253
|
+
| AAA(增强) | 7:1 | 4.5:1 |
|
|
254
|
+
|
|
255
|
+
### 如何检查对比度
|
|
256
|
+
|
|
257
|
+
1. **计算亮度**
|
|
258
|
+
2. **计算比值**: (亮色 + 0.05) / (暗色 + 0.05)
|
|
259
|
+
3. **调整直至达标**
|
|
260
|
+
|
|
261
|
+
### 安全模式
|
|
262
|
+
|
|
263
|
+
| 用例 | 指南 |
|
|
264
|
+
|------|------|
|
|
265
|
+
| **浅色背景文字** | 明度 ≤ 35% |
|
|
266
|
+
| **深色背景文字** | 明度 ≥ 85% |
|
|
267
|
+
| **白底主色** | 确保足够深 |
|
|
268
|
+
| **按钮** | 背景与文字高对比 |
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
## 8. 配色选择检查清单
|
|
273
|
+
|
|
274
|
+
最终确定前,请检查:
|
|
275
|
+
|
|
276
|
+
- [ ] **是否询问用户偏好?**(未指定必须问)
|
|
277
|
+
- [ ] **是否符合项目上下文?**(行业、受众)
|
|
278
|
+
- [ ] **是否遵循 60-30-10?**(比例分布)
|
|
279
|
+
- [ ] **是否符合 WCAG?**(对比度)
|
|
280
|
+
- [ ] **是否适配浅/深色模式?**(如需要)
|
|
281
|
+
- [ ] **是否不是你的默认/偏好?**(多样性检查)
|
|
282
|
+
- [ ] **是否与上次项目不同?**(避免重复)
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## 9. 反模式(避免)
|
|
287
|
+
|
|
288
|
+
### [FAIL] 不要:
|
|
289
|
+
- 每个项目都用同一套色值
|
|
290
|
+
- 默认紫色/紫罗兰(AI 倾向)
|
|
291
|
+
- 默认深色 + 霓虹(AI 倾向)
|
|
292
|
+
- 纯黑(#000000)背景
|
|
293
|
+
- 深色背景上用纯白文字(#FFFFFF)
|
|
294
|
+
- 忽略行业上下文
|
|
295
|
+
- 不询问用户偏好
|
|
296
|
+
|
|
297
|
+
### [OK] 要做:
|
|
298
|
+
- 每个项目生成新的色板
|
|
299
|
+
- 询问用户配色偏好
|
|
300
|
+
- 考虑行业与受众
|
|
301
|
+
- 用 HSL 灵活调整
|
|
302
|
+
- 测试对比度与无障碍
|
|
303
|
+
- 提供浅色与深色方案
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
> **记住:** 颜色是决策,不是默认值。每个项目都应基于其独特上下文做有意识的选择。
|