@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,582 @@
1
+ # Layout Anti-Patterns & Solutions
2
+
3
+ 防止元素重叠、错乱、大面积空白的完整指南。
4
+
5
+ ---
6
+
7
+ ## 🔴 布局问题快速诊断
8
+
9
+ ```
10
+ ┌─────────────────────────────────────────────────────────────────┐
11
+ │ 问题诊断流程 │
12
+ ├─────────────────────────────────────────────────────────────────┤
13
+ │ 元素重叠? → 检查 z-index + position + padding-top │
14
+ │ 元素错乱? → 检查 Flexbox/Grid + min-width: 0 │
15
+ │ 大片空白? → 检查 flex: 1 + min-height + 空状态设计 │
16
+ │ 间距不一? → 检查 8px 网格系统 + 组件内外间距 │
17
+ │ 响应式断裂? → 检查 clamp() + auto-fit + 断点测试 │
18
+ └─────────────────────────────────────────────────────────────────┘
19
+ ```
20
+
21
+ ---
22
+
23
+ ## 🔴 元素重叠 (Element Overlap)
24
+
25
+ ### 常见原因
26
+ 1. 固定定位元素没有预留空间
27
+ 2. z-index 管理混乱
28
+ 3. 绝对定位滥用
29
+ 4. 负margin使用不当
30
+
31
+ ### 解决方案
32
+
33
+ #### 1. 固定导航栏 + 内容重叠
34
+
35
+ ```css
36
+ /* ❌ 错误: 内容被导航栏遮挡 */
37
+ .navbar { position: fixed; top: 0; }
38
+ .content { /* 没有预留空间 */ }
39
+
40
+ /* ✅ 正确: 预留导航栏高度 */
41
+ .navbar { position: fixed; top: 0; height: 64px; }
42
+ .content { padding-top: 64px; } /* 或 margin-top: 64px */
43
+
44
+ /* ✅ 更好: 使用 CSS 变量 */
45
+ :root { --navbar-height: 64px; }
46
+ .navbar { height: var(--navbar-height); }
47
+ .content { padding-top: var(--navbar-height); }
48
+ ```
49
+
50
+ **Tailwind CSS:**
51
+ ```html
52
+ <nav class="fixed top-0 h-16 ...">...</nav>
53
+ <main class="pt-16 ...">...</main>
54
+
55
+ <!-- 浮动导航栏 (推荐) -->
56
+ <nav class="fixed top-4 left-4 right-4 ...">...</nav>
57
+ <main class="pt-20 ...">...</main>
58
+ ```
59
+
60
+ #### 2. z-index 管理
61
+
62
+ ```css
63
+ /* ✅ 定义 z-index 层级系统 */
64
+ :root {
65
+ --z-dropdown: 10;
66
+ --z-sticky: 20;
67
+ --z-fixed: 30;
68
+ --z-modal-backdrop: 40;
69
+ --z-modal: 50;
70
+ --z-popover: 60;
71
+ --z-tooltip: 70;
72
+ }
73
+
74
+ .dropdown { z-index: var(--z-dropdown); }
75
+ .navbar { z-index: var(--z-fixed); }
76
+ .modal { z-index: var(--z-modal); }
77
+ ```
78
+
79
+ **Tailwind CSS 层级:**
80
+ | 层级 | z-index | 用途 |
81
+ |------|---------|------|
82
+ | `z-10` | 10 | Dropdown, Popover |
83
+ | `z-20` | 20 | Sticky elements |
84
+ | `z-30` | 30 | Fixed navbar |
85
+ | `z-40` | 40 | Modal backdrop |
86
+ | `z-50` | 50 | Modal, Dialog |
87
+
88
+ #### 3. 绝对定位替代方案
89
+
90
+ ```css
91
+ /* ❌ 错误: 绝对定位导致重叠 */
92
+ .parent { position: relative; }
93
+ .child1 { position: absolute; top: 0; left: 0; }
94
+ .child2 { position: absolute; top: 0; right: 0; }
95
+
96
+ /* ✅ 正确: Flexbox 自动分配 */
97
+ .parent { display: flex; justify-content: space-between; }
98
+ .child1, .child2 { /* 自动定位 */ }
99
+
100
+ /* ✅ 正确: Grid 精确控制 */
101
+ .parent {
102
+ display: grid;
103
+ grid-template-columns: auto 1fr auto;
104
+ }
105
+ ```
106
+
107
+ ---
108
+
109
+ ## 🔴 元素错乱 (Layout Shift)
110
+
111
+ ### 常见原因
112
+ 1. 图片/视频没有预留尺寸
113
+ 2. 动态内容加载
114
+ 3. 字体加载闪烁
115
+ 4. 广告/嵌入内容
116
+
117
+ ### 解决方案
118
+
119
+ #### 1. 图片尺寸预留
120
+
121
+ ```html
122
+ <!-- ❌ 错误: 没有尺寸,加载时布局跳动 -->
123
+ <img src="photo.jpg" alt="Photo">
124
+
125
+ <!-- ✅ 正确: 预留尺寸 -->
126
+ <img src="photo.jpg" alt="Photo" width="800" height="600">
127
+
128
+ <!-- ✅ 更好: aspect-ratio -->
129
+ <img src="photo.jpg" alt="Photo" class="w-full aspect-video object-cover">
130
+ ```
131
+
132
+ ```css
133
+ /* ✅ CSS aspect-ratio */
134
+ .image-container {
135
+ aspect-ratio: 16 / 9;
136
+ width: 100%;
137
+ }
138
+ .image-container img {
139
+ width: 100%;
140
+ height: 100%;
141
+ object-fit: cover;
142
+ }
143
+ ```
144
+
145
+ #### 2. 骨架屏预留空间
146
+
147
+ ```html
148
+ <!-- ✅ 骨架屏保持布局稳定 -->
149
+ <div class="card">
150
+ <!-- 加载中 -->
151
+ <div class="skeleton h-48 w-full rounded-lg"></div>
152
+ <div class="skeleton h-4 w-3/4 mt-4"></div>
153
+ <div class="skeleton h-4 w-1/2 mt-2"></div>
154
+ </div>
155
+ ```
156
+
157
+ ```css
158
+ .skeleton {
159
+ background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
160
+ background-size: 200% 100%;
161
+ animation: shimmer 1.5s infinite;
162
+ }
163
+ @keyframes shimmer {
164
+ 0% { background-position: 200% 0; }
165
+ 100% { background-position: -200% 0; }
166
+ }
167
+ ```
168
+
169
+ #### 3. 字体加载优化
170
+
171
+ ```css
172
+ /* ✅ 防止字体闪烁 */
173
+ @font-face {
174
+ font-family: 'CustomFont';
175
+ src: url('font.woff2') format('woff2');
176
+ font-display: swap; /* 或 optional */
177
+ }
178
+
179
+ /* ✅ 字体回退尺寸匹配 */
180
+ body {
181
+ font-family: 'CustomFont', system-ui, sans-serif;
182
+ font-size-adjust: 0.5; /* 调整回退字体大小 */
183
+ }
184
+ ```
185
+
186
+ ---
187
+
188
+ ## 🔴 大面积空白 (Excessive Whitespace)
189
+
190
+ ### 常见原因
191
+ 1. 固定高度容器内容不足
192
+ 2. 没有使用弹性布局
193
+ 3. 空状态没有设计
194
+ 4. 响应式断点不合理
195
+
196
+ ### 解决方案
197
+
198
+ #### 1. 动态高度
199
+
200
+ ```css
201
+ /* ❌ 错误: 固定高度导致空白 */
202
+ .card { height: 400px; }
203
+
204
+ /* ✅ 正确: 动态高度 */
205
+ .card {
206
+ height: auto;
207
+ min-height: fit-content;
208
+ }
209
+
210
+ /* ✅ 限制最大高度 + 滚动 */
211
+ .card {
212
+ max-height: 400px;
213
+ overflow-y: auto;
214
+ }
215
+ ```
216
+
217
+ #### 2. 弹性填充
218
+
219
+ ```css
220
+ /* ✅ 主内容区填充剩余空间 */
221
+ .layout {
222
+ display: flex;
223
+ flex-direction: column;
224
+ min-height: 100vh;
225
+ }
226
+ .header { flex-shrink: 0; }
227
+ .main { flex: 1; } /* 自动填充 */
228
+ .footer { flex-shrink: 0; }
229
+ ```
230
+
231
+ **Tailwind CSS:**
232
+ ```html
233
+ <div class="flex flex-col min-h-screen">
234
+ <header class="shrink-0">...</header>
235
+ <main class="flex-1">...</main>
236
+ <footer class="shrink-0">...</footer>
237
+ </div>
238
+ ```
239
+
240
+ #### 3. 空状态设计
241
+
242
+ ```html
243
+ <!-- ✅ 友好的空状态 -->
244
+ <div class="flex flex-col items-center justify-center py-12 text-center">
245
+ <svg class="w-16 h-16 text-gray-400 mb-4">...</svg>
246
+ <h3 class="text-lg font-medium text-gray-900">No items yet</h3>
247
+ <p class="text-gray-500 mt-1">Get started by creating your first item.</p>
248
+ <button class="mt-4 btn-primary">Create Item</button>
249
+ </div>
250
+ ```
251
+
252
+ #### 4. Grid 自动填充
253
+
254
+ ```css
255
+ /* ✅ 自动填充可用空间 */
256
+ .grid {
257
+ display: grid;
258
+ grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
259
+ gap: 1.5rem;
260
+ }
261
+
262
+ /* ✅ 内容少时居中 */
263
+ .grid-center {
264
+ display: grid;
265
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
266
+ justify-content: center;
267
+ gap: 1.5rem;
268
+ }
269
+ ```
270
+
271
+ ---
272
+
273
+ ## 🔴 间距不一致 (Inconsistent Spacing)
274
+
275
+ ### 间距系统
276
+
277
+ ```css
278
+ /* ✅ 定义间距系统 */
279
+ :root {
280
+ --space-1: 0.25rem; /* 4px */
281
+ --space-2: 0.5rem; /* 8px */
282
+ --space-3: 0.75rem; /* 12px */
283
+ --space-4: 1rem; /* 16px */
284
+ --space-5: 1.25rem; /* 20px */
285
+ --space-6: 1.5rem; /* 24px */
286
+ --space-8: 2rem; /* 32px */
287
+ --space-10: 2.5rem; /* 40px */
288
+ --space-12: 3rem; /* 48px */
289
+ --space-16: 4rem; /* 64px */
290
+ }
291
+ ```
292
+
293
+ ### 组件间距规范
294
+
295
+ | 组件类型 | 内部间距 | 外部间距 |
296
+ |----------|----------|----------|
297
+ | 按钮 | `px-4 py-2` (16px/8px) | `gap-2` (8px) |
298
+ | 卡片 | `p-4` 或 `p-6` | `gap-4` 或 `gap-6` |
299
+ | 表单字段 | `px-3 py-2` | `space-y-4` (16px) |
300
+ | 列表项 | `px-4 py-3` | `divide-y` |
301
+ | 导航项 | `px-3 py-2` | `gap-1` (4px) |
302
+ | 段落 | - | `space-y-4` |
303
+ | 章节 | `py-12` 或 `py-16` | - |
304
+
305
+ ### 内外间距黄金法则
306
+
307
+ ```
308
+ ┌─────────────────────────────────────────────────────────────┐
309
+ │ 间距黄金法则 │
310
+ ├─────────────────────────────────────────────────────────────┤
311
+ │ ✅ 相关元素间距小 (4-8px) │
312
+ │ ✅ 不相关元素间距大 (16-24px) │
313
+ │ ✅ 组件内部间距 < 组件外部间距 │
314
+ │ ✅ 使用 8px 网格系统 (4, 8, 12, 16, 24, 32, 48, 64) │
315
+ │ ❌ 避免奇数间距 (5px, 7px, 13px) │
316
+ │ ❌ 避免过大间距 (>64px 除非是章节分隔) │
317
+ └─────────────────────────────────────────────────────────────┘
318
+ ```
319
+
320
+ ---
321
+
322
+ ## 🔴 响应式断裂 (Responsive Breakage)
323
+
324
+ ### 断点测试清单
325
+
326
+ | 断点 | 宽度 | 测试重点 |
327
+ |------|------|----------|
328
+ | Mobile S | 320px | 最小可用宽度 |
329
+ | Mobile M | 375px | iPhone SE/8 |
330
+ | Mobile L | 425px | 大手机 |
331
+ | Tablet | 768px | iPad |
332
+ | Laptop | 1024px | 小笔记本 |
333
+ | Desktop | 1440px | 标准桌面 |
334
+ | 4K | 2560px | 大屏幕 |
335
+
336
+ ### 常见断裂问题
337
+
338
+ ```css
339
+ /* ❌ 错误: 固定宽度在小屏幕溢出 */
340
+ .container { width: 1200px; }
341
+
342
+ /* ✅ 正确: 响应式宽度 */
343
+ .container {
344
+ width: min(90%, 1200px);
345
+ margin-inline: auto;
346
+ }
347
+
348
+ /* ❌ 错误: 文字在小屏幕太大 */
349
+ h1 { font-size: 48px; }
350
+
351
+ /* ✅ 正确: 响应式字体 */
352
+ h1 { font-size: clamp(1.5rem, 5vw, 3rem); }
353
+ ```
354
+
355
+ ### 响应式检查清单
356
+
357
+ - [ ] 320px 无水平滚动
358
+ - [ ] 所有文字可读 (≥14px)
359
+ - [ ] 触摸目标 ≥44px
360
+ - [ ] 图片不溢出
361
+ - [ ] 表格可滚动或堆叠
362
+ - [ ] 导航可访问 (汉堡菜单)
363
+ - [ ] 表单可用
364
+ - [ ] 弹窗不超出屏幕
365
+
366
+ ---
367
+
368
+ ## 快速诊断命令
369
+
370
+ ```css
371
+ /* 显示所有元素边界 */
372
+ * { outline: 1px solid red !important; }
373
+
374
+ /* 检查溢出元素 */
375
+ * { outline: 1px solid rgba(255,0,0,0.2); }
376
+
377
+ /* 高亮固定/绝对定位元素 */
378
+ [style*="position: fixed"],
379
+ [style*="position: absolute"],
380
+ .fixed, .absolute {
381
+ outline: 3px solid blue !important;
382
+ }
383
+ ```
384
+
385
+ ```javascript
386
+ // 查找溢出元素
387
+ document.querySelectorAll('*').forEach(el => {
388
+ if (el.scrollWidth > el.clientWidth) {
389
+ console.log('Horizontal overflow:', el);
390
+ }
391
+ });
392
+ ```
393
+
394
+ ---
395
+
396
+ ## 🔴 防重叠/错乱/空白 CSS 模板
397
+
398
+ ### 基础布局模板 (防止所有常见问题)
399
+
400
+ ```css
401
+ /* ===== 全局重置 ===== */
402
+ *, *::before, *::after {
403
+ box-sizing: border-box;
404
+ margin: 0;
405
+ padding: 0;
406
+ }
407
+
408
+ /* ===== 根元素 ===== */
409
+ html {
410
+ scroll-behavior: smooth;
411
+ -webkit-text-size-adjust: 100%;
412
+ }
413
+
414
+ body {
415
+ min-height: 100vh;
416
+ line-height: 1.5;
417
+ -webkit-font-smoothing: antialiased;
418
+ }
419
+
420
+ /* ===== 图片防溢出 ===== */
421
+ img, picture, video, canvas, svg {
422
+ display: block;
423
+ max-width: 100%;
424
+ height: auto;
425
+ }
426
+
427
+ /* ===== 表单元素继承字体 ===== */
428
+ input, button, textarea, select {
429
+ font: inherit;
430
+ }
431
+
432
+ /* ===== 文字防溢出 ===== */
433
+ p, h1, h2, h3, h4, h5, h6 {
434
+ overflow-wrap: break-word;
435
+ }
436
+
437
+ /* ===== Flexbox 子元素防溢出 ===== */
438
+ .flex > * {
439
+ min-width: 0;
440
+ }
441
+
442
+ /* ===== Grid 子元素防溢出 ===== */
443
+ .grid > * {
444
+ min-width: 0;
445
+ }
446
+ ```
447
+
448
+ ### Tailwind CSS 防重叠模板
449
+
450
+ ```html
451
+ <!-- 固定导航栏 + 内容区 (防重叠) -->
452
+ <nav class="fixed top-0 left-0 right-0 h-16 z-30 bg-white/80 backdrop-blur-xl border-b">
453
+ <!-- 导航内容 -->
454
+ </nav>
455
+ <main class="pt-16 min-h-screen">
456
+ <!-- 主内容 (pt-16 = 导航栏高度) -->
457
+ </main>
458
+
459
+ <!-- 浮动导航栏 (推荐) -->
460
+ <nav class="fixed top-4 left-4 right-4 z-30 rounded-2xl bg-white/80 backdrop-blur-xl shadow-lg">
461
+ <!-- 导航内容 -->
462
+ </nav>
463
+ <main class="pt-24 min-h-screen">
464
+ <!-- 主内容 (pt-24 = 导航栏高度 + 边距) -->
465
+ </main>
466
+
467
+ <!-- 侧边栏布局 (防重叠) -->
468
+ <div class="flex min-h-screen">
469
+ <aside class="w-64 shrink-0 border-r">
470
+ <!-- 侧边栏 -->
471
+ </aside>
472
+ <main class="flex-1 min-w-0 overflow-auto">
473
+ <!-- 主内容 (min-w-0 防止溢出) -->
474
+ </main>
475
+ </div>
476
+
477
+ <!-- 页脚固定底部 (防空白) -->
478
+ <div class="flex flex-col min-h-screen">
479
+ <header class="shrink-0">...</header>
480
+ <main class="flex-1">...</main>
481
+ <footer class="shrink-0">...</footer>
482
+ </div>
483
+
484
+ <!-- 卡片网格 (自适应) -->
485
+ <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6">
486
+ <div class="min-w-0">卡片1</div>
487
+ <div class="min-w-0">卡片2</div>
488
+ <div class="min-w-0">卡片3</div>
489
+ </div>
490
+
491
+ <!-- 响应式容器 -->
492
+ <div class="w-full max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
493
+ <!-- 内容 -->
494
+ </div>
495
+ ```
496
+
497
+ ### 常见布局问题一键修复
498
+
499
+ ```css
500
+ /* 问题: 内容被固定导航遮挡 */
501
+ .main-content { padding-top: var(--navbar-height, 64px); }
502
+
503
+ /* 问题: Flexbox 子元素溢出 */
504
+ .flex-child { min-width: 0; overflow-wrap: break-word; }
505
+
506
+ /* 问题: 长文本溢出容器 */
507
+ .text-container {
508
+ overflow-wrap: break-word;
509
+ word-break: break-word;
510
+ hyphens: auto;
511
+ }
512
+
513
+ /* 问题: 图片拉伸变形 */
514
+ .image-container {
515
+ aspect-ratio: 16 / 9;
516
+ }
517
+ .image-container img {
518
+ width: 100%;
519
+ height: 100%;
520
+ object-fit: cover;
521
+ }
522
+
523
+ /* 问题: 页脚不在底部 */
524
+ .page-wrapper {
525
+ display: flex;
526
+ flex-direction: column;
527
+ min-height: 100vh;
528
+ }
529
+ .main-content { flex: 1; }
530
+
531
+ /* 问题: 弹窗超出屏幕 */
532
+ .modal {
533
+ max-width: min(90vw, 500px);
534
+ max-height: 90vh;
535
+ overflow-y: auto;
536
+ }
537
+
538
+ /* 问题: 表格在移动端溢出 */
539
+ .table-container {
540
+ overflow-x: auto;
541
+ -webkit-overflow-scrolling: touch;
542
+ }
543
+ ```
544
+
545
+ ---
546
+
547
+ ## 🔴 交付前布局检查清单
548
+
549
+ ```markdown
550
+ ## 布局检查清单
551
+
552
+ ### 元素重叠检查
553
+ - [ ] 固定导航栏: 内容区有 pt-16/pt-20
554
+ - [ ] 浮动元素: 有 top-4 left-4 right-4 边距
555
+ - [ ] z-index: dropdown(10) < navbar(30) < modal(50)
556
+ - [ ] 无绝对定位滥用
557
+
558
+ ### 元素错乱检查
559
+ - [ ] 图片有 aspect-ratio + object-fit
560
+ - [ ] Flexbox 子元素有 min-width: 0
561
+ - [ ] 长文本有 overflow-wrap: break-word
562
+ - [ ] 使用 clamp() 响应式尺寸
563
+
564
+ ### 空白检查
565
+ - [ ] 主内容区使用 flex: 1
566
+ - [ ] 页脚固定底部
567
+ - [ ] 空状态有设计
568
+ - [ ] 无固定高度导致空白
569
+
570
+ ### 间距检查
571
+ - [ ] 使用 8px 网格系统
572
+ - [ ] 组件内间距 < 组件外间距
573
+ - [ ] 无奇数间距 (5px, 7px, 13px)
574
+
575
+ ### 响应式检查
576
+ - [ ] 320px 测试通过
577
+ - [ ] 768px 测试通过
578
+ - [ ] 1024px 测试通过
579
+ - [ ] 1440px 测试通过
580
+ - [ ] 无水平滚动
581
+ ```
582
+