diff --git a/docs/LESS使用指南.md b/docs/LESS使用指南.md new file mode 100644 index 0000000..5620467 --- /dev/null +++ b/docs/LESS使用指南.md @@ -0,0 +1,312 @@ +# LESS 使用指南 + +## 概述 + +本项目已全面从 CSS 转换为 LESS,使用 LESS 的嵌套结构、变量、混合等特性来提高代码的可维护性和复用性。 + +## 🎯 LESS 的优势 + +### 1. **嵌套结构** +- 更清晰的代码层次结构 +- 减少选择器重复 +- 提高代码可读性 + +### 2. **变量系统** +- 统一的颜色、字体、间距管理 +- 快速修改全局样式 +- 减少重复值 + +### 3. **混合(Mixins)** +- 可复用的样式块 +- 参数化样式 +- 减少代码重复 + +### 4. **函数和运算** +- 动态计算尺寸 +- 颜色混合和透明度 +- 响应式断点管理 + +## 📁 文件结构 + +``` +src/assets/css/ +├── variables.less # 全局变量定义 +├── common.less # 通用样式 +├── animations.less # 动画效果 +├── mobile_responsive.less # 移动端响应式 +└── common_mobile.less # 通用移动端适配 +``` + +## 🔧 已配置的 LESS 功能 + +### 1. **全局变量** +- 颜色系统(主色、成功、警告、错误等) +- 字体系统(大小、行高、字重) +- 间距系统(内边距、外边距) +- 断点系统(移动端、平板、桌面) +- 动画系统(时长、缓动、延迟) + +### 2. **响应式混合** +```less +.mobile({ + // 移动端样式 +}); + +.tablet({ + // 平板端样式 +}); + +.desktop({ + // 桌面端样式 +}); +``` + +### 3. **设备检测混合** +```less +.touch-device({ + // 触摸设备样式 +}); + +.high-dpi({ + // 高分辨率屏幕样式 +}); + +.landscape({ + // 横屏模式样式 +}); +``` + +## 📝 使用方法 + +### 1. **引入变量文件** +```less +@import './variables.less'; +``` + +### 2. **使用变量** +```less +.button { + background-color: @primary-color; + padding: @padding-md; + border-radius: @border-radius-base; + font-size: @font-size-base; +} +``` + +### 3. **嵌套结构** +```less +.card { + padding: @card-padding-base; + border: @border-width-base solid @border-color; + + .card-header { + padding: @padding-md; + border-bottom: @border-width-base solid @border-color-light; + + .card-title { + font-size: @font-size-h4; + color: @heading-color; + margin: 0; + } + } + + .card-body { + padding: @padding-md; + + .card-text { + color: @text-color; + line-height: @line-height-base; + } + } +} +``` + +### 4. **使用混合** +```less +.responsive-button { + .mobile({ + width: 100%; + padding: @padding-sm; + font-size: @font-size-sm; + }); + + .tablet({ + width: auto; + padding: @padding-md; + font-size: @font-size-base; + }); + + .desktop({ + padding: @padding-lg; + font-size: @font-size-lg; + }); +} +``` + +### 5. **颜色操作** +```less +.button { + background-color: @primary-color; + + &:hover { + background-color: lighten(@primary-color, 10%); + } + + &:active { + background-color: darken(@primary-color, 10%); + } + + &.disabled { + background-color: fade(@primary-color, 50%); + } +} +``` + +## 🎨 颜色系统 + +### 主色调 +- `@primary-color`: #3498db +- `@primary-light`: #5dade2 +- `@primary-dark`: #2980b9 +- `@primary-lighter`: #ebf3fd + +### 功能色 +- `@success-color`: #52c41a +- `@warning-color`: #faad14 +- `@error-color`: #f5222d +- `@info-color`: #1890ff + +### 中性色 +- `@white`: #ffffff +- `@black`: #000000 +- `@gray-1` 到 `@gray-10`: 从浅到深的灰色 + +## 📱 响应式断点 + +### 断点变量 +- `@screen-xs`: 480px +- `@screen-sm`: 576px +- `@screen-md`: 768px +- `@screen-lg`: 992px +- `@screen-xl`: 1200px +- `@screen-xxl`: 1600px + +### 设备断点 +- `@mobile-breakpoint`: 768px +- `@tablet-breakpoint`: 992px +- `@desktop-breakpoint`: 1200px + +## 🔄 动画系统 + +### 动画时长 +- `@animation-duration-base`: 0.2s +- `@animation-duration-fast`: 0.1s +- `@animation-duration-slow`: 0.3s +- `@animation-duration-slower`: 0.5s + +### 动画缓动 +- `@animation-timing-base`: ease +- `@animation-timing-ease-in`: ease-in +- `@animation-timing-ease-out`: ease-out +- `@animation-timing-ease-in-out`: ease-in-out +- `@animation-timing-linear`: linear + +## 🛠️ 开发工具 + +### 1. **Vue CLI 配置** +项目已配置 LESS 支持,包括: +- LESS 编译器 +- 全局变量注入 +- 自动前缀处理 + +### 2. **构建命令** +```bash +# 开发模式 +yarn serve + +# 生产构建 +yarn build +``` + +## 📋 最佳实践 + +### 1. **变量命名** +- 使用语义化名称 +- 遵循 BEM 命名规范 +- 保持命名一致性 + +### 2. **嵌套深度** +- 避免超过 3 层嵌套 +- 使用 `&` 符号引用父选择器 +- 保持选择器简洁 + +### 3. **混合使用** +- 创建可复用的混合 +- 参数化常用样式 +- 避免过度抽象 + +### 4. **文件组织** +- 按功能模块组织文件 +- 使用 `@import` 引入依赖 +- 保持文件结构清晰 + +## 🚀 性能优化 + +### 1. **变量缓存** +- 减少重复计算 +- 使用预定义值 +- 避免运行时计算 + +### 2. **选择器优化** +- 避免过深嵌套 +- 使用类选择器 +- 减少选择器复杂度 + +### 3. **媒体查询优化** +- 使用混合管理断点 +- 避免重复的媒体查询 +- 合并相似的样式规则 + +## 🔍 调试技巧 + +### 1. **浏览器开发工具** +- 查看编译后的 CSS +- 检查选择器优先级 +- 调试响应式样式 + +### 2. **LESS 编译错误** +- 检查语法错误 +- 验证变量引用 +- 确认文件路径 + +### 3. **样式冲突** +- 使用 `!important` 谨慎 +- 检查选择器特异性 +- 验证样式继承 + +## 📚 学习资源 + +### 1. **官方文档** +- [LESS 官网](http://lesscss.org/) +- [LESS 语言特性](http://lesscss.org/features/) +- [LESS 函数参考](http://lesscss.org/functions/) + +### 2. **在线工具** +- [LESS 在线编译器](http://lesscss.org/less-preview/) +- [LESS 语法检查器](https://github.com/less/less.js) + +### 3. **社区资源** +- [LESS GitHub](https://github.com/less/less.js) +- [LESS 论坛](https://github.com/less/less.js/discussions) + +## 🎉 总结 + +通过使用 LESS,我们实现了: + +1. **更好的代码组织**:嵌套结构和模块化文件 +2. **统一的样式管理**:全局变量和混合系统 +3. **高效的开发流程**:快速修改和样式复用 +4. **响应式设计**:断点管理和设备适配 +5. **维护性提升**:清晰的代码结构和语义化命名 + +LESS 为项目提供了强大的样式管理能力,让开发更加高效,维护更加简单。 diff --git a/docs/动画效果使用指南.md b/docs/动画效果使用指南.md new file mode 100644 index 0000000..54ee4b8 --- /dev/null +++ b/docs/动画效果使用指南.md @@ -0,0 +1,314 @@ +# 动画效果使用指南 + +## 概述 + +本项目已集成丰富的动画效果库,包含多种CSS动画、悬停效果、滚动触发动画等,让页面更加生动有趣。 + +## 🎯 已集成的动画类型 + +### 1. 基础动画类 + +#### 淡入动画 +- `.fade-in` - 淡入 +- `.fade-in-up` - 从下方淡入 +- `.fade-in-down` - 从上方淡入 +- `.fade-in-left` - 从左侧淡入 +- `.fade-in-right` - 从右侧淡入 + +#### 滑入动画 +- `.slide-in-up` - 从下方滑入 +- `.slide-in-down` - 从上方滑入 +- `.slide-in-left` - 从左侧滑入 +- `.slide-in-right` - 从右侧滑入 + +#### 缩放动画 +- `.zoom-in` - 缩放进入 +- `.zoom-out` - 缩放退出 + +#### 特殊效果动画 +- `.bounce` - 弹跳 +- `.pulse` - 脉冲 +- `.shake` - 抖动 +- `.swing` - 摇摆 +- `.rotate-in` - 旋转进入 +- `.flip-in-x` - X轴翻转 +- `.flip-in-y` - Y轴翻转 +- `.light-speed-in` - 光速进入 +- `.rubber-band` - 橡皮筋 +- `.wobble` - 摇摆 +- `.tada` - 庆祝 +- `.heart-beat` - 心跳 +- `.hinge` - 铰链 +- `.roll-in` - 滚入 +- `.roll-out` - 滚出 + +### 2. 悬停动画效果 + +- `.hover-lift` - 悬停时上浮 +- `.hover-scale` - 悬停时缩放 +- `.hover-rotate` - 悬停时旋转 +- `.hover-glow` - 悬停时发光 +- `.hover-bounce` - 悬停时弹跳 + +### 3. 滚动触发动画 + +- `.animate-on-scroll` - 滚动时触发动画 +- `.animate-stagger` - 交错动画容器 + +### 4. 高级动画效果 + +- `.gradient-bg` - 渐变背景动画 +- `.neon-text` - 霓虹灯文字效果 +- `.wave` - 波浪效果 +- `.particles` - 粒子效果 +- `.flip-card` - 3D翻转卡片 +- `.typewriter` - 打字机效果 + +## 🚀 使用方法 + +### 基础用法 + +```html + +
简单易用的开发体验
+优化的性能表现
+现代化的视觉体验
+