You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Software_Architecture/.promptx/resource/domain/qt-ui-optimizer/knowledge/ui-ux-principles.knowledge.md

209 lines
5.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# UI/UX设计原则与最佳实践
## 现代UI设计原则
### Material Design 核心理念
- **物理隐喻**:界面元素模拟真实世界的物理特性
- **大胆的图形设计**:使用鲜明的色彩和清晰的层次
- **有意义的动画**:动画应该有目的性,引导用户注意力
- **自适应设计**:界面应该适应不同的屏幕尺寸和设备
### Fluent Design 设计语言
- **光线**:使用光线效果突出重要元素
- **深度**:通过阴影和层次创建空间感
- **动画**:流畅自然的过渡动画
- **材质**:半透明和模糊效果的运用
## 色彩设计理论
### 色彩心理学应用
```
主色调选择指南:
- 蓝色:专业、可信、科技感 (适合企业应用)
- 绿色:自然、安全、成功 (适合健康、金融应用)
- 红色:紧急、重要、激情 (适合警告、重要操作)
- 灰色:中性、专业、现代 (适合工具类应用)
```
### 配色方案设计
```
经典配色组合:
1. 单色配色:同一色相的不同明度和饱和度
2. 互补配色:色轮上相对的两种颜色
3. 三角配色:色轮上等距的三种颜色
4. 分裂互补:一种主色加上其互补色的邻近色
```
### 无障碍设计考虑
- **对比度要求**文字与背景对比度至少4.5:1
- **色盲友好**:不能仅依靠颜色传达信息
- **色彩测试**:使用色盲模拟器测试界面效果
## 排版设计原则
### 字体层次设计
```
字体大小层次:
- 主标题24-32px粗体
- 副标题18-24px中等粗细
- 正文14-16px常规
- 说明文字12-14px细体
- 标签文字10-12px大写
```
### 行距和间距
```
间距设计规则:
- 行距字体大小的1.2-1.5倍
- 段落间距行距的1.5-2倍
- 元素间距8px的倍数 (8, 16, 24, 32...)
- 页面边距至少16px推荐24-32px
```
### 字体选择原则
- **可读性优先**:选择清晰易读的字体
- **系统字体**:优先使用系统默认字体
- **字体数量**一个界面最多使用2-3种字体
- **中英文搭配**:确保中英文字体协调统一
## 布局设计原则
### 网格系统应用
```
12列网格系统
- 容器宽度1200px (桌面)
- 列宽75px
- 间距30px
- 边距15px
```
### 视觉层次构建
```
层次设计方法:
1. 大小对比:重要元素使用更大尺寸
2. 颜色对比:重要元素使用突出颜色
3. 位置对比:重要元素放在显眼位置
4. 空白空间:用留白突出重要内容
```
### F型和Z型布局
- **F型布局**:适合内容密集的界面,用户从左到右、从上到下浏览
- **Z型布局**适合简洁界面引导用户视线按Z字形移动
## 交互设计原则
### 可用性启发式原则
1. **系统状态可见性**:用户应该知道系统当前状态
2. **系统与现实匹配**:使用用户熟悉的概念和语言
3. **用户控制和自由**:提供撤销和重做功能
4. **一致性和标准**:遵循平台约定和标准
5. **错误预防**:设计时预防用户犯错
6. **识别而非回忆**:让选项可见,减少记忆负担
7. **使用灵活性和效率**:为专家用户提供快捷方式
8. **美观和简约设计**:避免无关信息干扰
9. **帮助用户识别、诊断和从错误中恢复**:错误信息要清晰
10. **帮助和文档**:提供必要的帮助信息
### 反馈机制设计
```
反馈类型和时机:
- 即时反馈:按钮点击、输入验证 (<100ms)
- 短期反馈:表单提交、数据保存 (1-3秒)
- 长期反馈:文件上传、数据处理 (>3秒需要进度指示)
```
### 状态设计
```
控件状态设计:
- 默认状态:控件的初始外观
- 悬停状态:鼠标悬停时的视觉反馈
- 激活状态:控件被点击或选中时
- 禁用状态:控件不可用时的外观
- 焦点状态:键盘导航时的焦点指示
```
## 动画和过渡
### 动画设计原则
- **有目的性**:动画应该有明确的功能目标
- **自然性**:模拟真实世界的物理规律
- **一致性**:整个应用中保持动画风格一致
- **性能考虑**:避免影响应用性能的复杂动画
### 缓动函数选择
```
常用缓动函数:
- ease-in慢开始适合元素消失
- ease-out慢结束适合元素出现
- ease-in-out慢开始慢结束适合状态转换
- linear匀速适合循环动画
```
### 动画时长建议
```
动画时长指南:
- 微交互100-200ms (按钮点击反馈)
- 小元素200-300ms (工具提示显示)
- 中等元素300-500ms (对话框打开)
- 大元素500-800ms (页面切换)
- 复杂动画800ms+ (数据可视化)
```
## 响应式设计
### 断点设计
```
常用断点:
- 手机320-768px
- 平板768-1024px
- 桌面1024px+
- 大屏1440px+
```
### 自适应策略
- **流式布局**:使用百分比而非固定像素
- **弹性图片**:图片随容器大小缩放
- **媒体查询**:针对不同屏幕尺寸应用不同样式
- **移动优先**:从小屏幕开始设计,逐步增强
## 可访问性设计
### 键盘导航
- **Tab顺序**确保逻辑的Tab键导航顺序
- **焦点指示**:清晰的焦点视觉指示
- **快捷键**:为常用功能提供键盘快捷键
### 屏幕阅读器支持
- **语义化标签**使用正确的HTML语义
- **Alt文本**:为图片提供描述性文本
- **标题层次**:正确的标题层次结构
## 设计系统构建
### 组件库设计
```
基础组件:
- 按钮 (Button)
- 输入框 (Input)
- 选择器 (Select)
- 复选框 (Checkbox)
- 单选框 (Radio)
```
### 设计令牌 (Design Tokens)
```
颜色令牌:
- primary-color: #4CAF50
- secondary-color: #2196F3
- success-color: #4CAF50
- warning-color: #FF9800
- error-color: #F44336
间距令牌:
- space-xs: 4px
- space-sm: 8px
- space-md: 16px
- space-lg: 24px
- space-xl: 32px
```