分组相关元素
karanmrn2026-10-25查看 1804复制 1028
使用邻近性和间距来展示关系
📘如何使用这个技能
- 1复制技能内容·点击上方「Copy SKILL.md」复制全部内容,或 Download 下载到本地
- 2打开你的 AI 客户端·支持 Claude Code、Trae、Cursor、ChatGPT、DeepSeek、Kimi 等任意 AI 助手
- 3粘贴为系统提示/知识文件·Claude Code:放入 .claude/skills/ 目录;普通对话:作为首条消息发送并说「请严格按这份技能文档执行」
- 4直接提出你的需求·AI 会按技能定义的工作流、格式和约束来处理,无需再解释背景
💡 提示:技能生效后,每次对话只需一句需求,AI 会按 SKILL.md 的流程执行。
SKILL.md3301 chars
--- name: group-related-elements description: Use proximity and spacing to show relationships domain: ui-design skill-type: generative version: 1.0.0 author: refactoring-ui-expert prerequisites: [] dependencies: - 04-apply-consistent-spacing --- # Skill: Group Related Elements ## Purpose Use proximity and spacing to visually group related elements together and separate unrelated groups. ## Type Generative + Evaluative ## Input - Element inventory - Relationship mapping (what belongs together) - Current spacing between elements ## Output - Spacing recommendations to show relationships - Pass/Fail assessment of current grouping ## Transformation Performed Adjusts spacing so elements within a group are closer together than elements in different groups, using the Gestalt principle of proximity. ## Decision Criteria ### PASS (Good Grouping) - Related elements have small gap (8-16px) - Unrelated groups have larger gap (24-48px) - Form labels close to their inputs (4-8px) - Sections clearly separated - Hierarchy of space: tightest within component, looser between components, loosest between sections ### FAIL (Poor Grouping) - Uniform spacing everywhere - Labels far from inputs - Related elements visually disconnected - Unrelated elements too close - Using borders instead of space to group ## The Proximity Principle > Elements that are close together are perceived as more related than elements that are farther apart. ### Spacing Hierarchy ``` Within component (label + input): 4-8px Between related components: 16-24px Between sections: 32-64px Between major page areas: 64-96px ``` ## Common Grouping Patterns | Pattern | Structure | Spacing | |---------|-----------|---------| | **Form field** | Label → Input | 4-8px between, 16-24px after | | **Card** | Header → Content → Footer | 16-24px internal padding | | **List items** | Item 1 / Item 2 / Item 3 | 8-12px between items | | **Button group** | Primary + Secondary | 8-12px between | | **Sections** | Section A (gap) Section B | 48-64px between | ## Common Failure Modes | Failure | Description | Fix | |---------|-------------|-----| | **The Great Divide** | Equal spacing everywhere | Tighten within groups, expand between groups | | **Label Drift** | Labels 20px+ from inputs | Reduce to 4-8px | | **Section Smush** | Sections barely separated | Add 48px+ between major sections | | **Border Dependency** | Boxes around everything | Use space instead of borders | | **Card Clump** | Cards touching each other | Add 16-24px gap between cards | ## Prerequisites - Spacing system defined - Content grouped logically ## Dependencies - `apply-consistent-spacing` (uses spacing scale) ## Refactoring UI References - "Group related information" - "Use whitespace to create relationships" - "Proximity beats similarity" ## Example Assessment **Input:** Form with: Title (24px margin), Label (8px margin), Input, Label (8px), Input, Section header (16px margin), Label (8px), Input **Evaluation:** PARTIAL - Label to input spacing not specified - Section header too close to previous section - Consistent 8px but not creating hierarchy **Recommendation:** - Label to input: 4px (tight coupling) - After input group: 24px - Section header margin-top: 48px (clear break) - Within section: 16px between fields