# 个人简历网站 - 增强版 这是一个现代化的响应式个人简历网站,融合了优秀的设计理念和用户体验。 ## ✨ 主要特性 ### 🎨 视觉设计 - **现代化界面**: 采用渐变背景和卡片式布局 - **响应式设计**: 完美适配桌面端、平板和移动端 - **流畅动画**: 滚动动画和交互效果 - **优雅配色**: 专业的渐变色彩搭配 ### 🚀 功能特性 - **固定导航栏**: 智能导航,自动高亮当前区域 - **GSAP动画系统**: 统一的动画管理,替代原有CSS/AOS动画 - **代码优化**: 清理冗余文件和代码,提升性能 - **技能展示**: 分点罗列式专业技能展示,复合能力区域支持滚动 - **现代项目展示**: - 左侧深色区域:项目标题和正方形图片预览 - 右侧浅色区域:项目分类、职位、时间、公司、项目描述 - 支持图片点击放大查看 - 职责详情弹窗展示 - 简洁现代的卡片设计和悬停动效 - **平滑滚动**: 流畅的页面滚动体验 - **返回顶部**: 便捷的页面导航 - **打印优化**: 支持完美的简历打印 ### 📱 用户体验 - **快速加载**: 优化的资源加载策略 - **无障碍访问**: 良好的键盘导航支持 - **SEO友好**: 完整的搜索引擎优化 - **多浏览器兼容**: 支持主流浏览器 ## 📁 文件结构 ``` 个人简历/ ├── index-enhanced.html # 主要简历网站 ⭐ ├── drone-project.jpg # 无人机项目设计图 ├── particles.min.js # 粒子背景库 ├── gsap-animations.js # GSAP动画配置文件 ✨ ├── README.md # 说明文档 ├── rule.md # 设计规范 ├── 个人简历.md # 原始简历内容 └── reference/ # 参考项目 ``` ## 📑 页面结构 增强版简历网站包含以下七个主要部分: 1. **主页** - 个人介绍和粒子背景展示 2. **基本资料** - 姓名、联系方式、教育背景、主修课程 3. **专业技能** - 核心能力、复合能力 4. **实习/工作经历** - 无人机结构设计项目经验 5. **其他经历** - 竞赛获奖、专业证书、志愿服务 6. **个人总结** - 综合能力和求职意向 7. **联系方式** - 邮箱、电话、地址、期望职位 ## 🚀 快速开始 ### 方法一:直接打开 ```bash # macOS open index-enhanced.html # Windows start index-enhanced.html # Linux xdg-open index-enhanced.html ``` ### 方法二:本地服务器(推荐) ```bash # 使用Python启动本地服务器 python3 -m http.server 8080 # 然后在浏览器中访问 http://localhost:8080/index-enhanced.html ``` ### 方法三:局域网部署 ```bash # 启动局域网可访问的服务器 python3 -m http.server 8080 --bind 0.0.0.0 # 局域网内其他设备访问(替换为您的实际IP) http://192.168.2.22:8080/index-enhanced.html ``` ### 方法四:使用Node.js ```bash # 安装http-server npm install -g http-server # 启动服务器 http-server -p 8080 -o ``` ## 🎮 交互功能 网站提供了丰富的交互体验: - **📸 图片查看**: 点击项目图片可放大查看详细的无人机设计草图 - **📋 职责详情**: 点击"主要职责"区域查看完整的7项工作职责详情 - **📜 滚动浏览**: 复合能力区域支持隐藏滚动条的流畅滚动体验 - **⌨️ 键盘操作**: 支持ESC键关闭弹窗,Home/End键快速导航 - **🖱️ 悬停效果**: 各个区域都有精美的悬停动画和反馈 ## 🎬 GSAP动画系统 项目已集成GSAP动画库,提供专业级动画效果: ### 📁 动画文件结构 ``` gsap-animations.js # 主要的GSAP动画配置文件 ├── 页面加载动画 # 加载器淡出、导航栏滑入 ├── 英雄区域动画 # 头像旋转缩放、文字依次出现 ├── 滚动触发动画 # 技能卡片、项目展示、联系信息 ├── 悬停交互动画 # 卡片悬停效果增强 ├── 弹窗动画增强 # 左滑入、右滑出弹窗效果 └── 工具函数 # 可复用的动画函数 ``` ### 🎯 如何添加自定义GSAP动画 **方法1: 直接在 `gsap-animations.js` 中添加** ```javascript // 在相应的函数中添加新动画 function initHeroAnimations() { // 现有动画... // 添加你的自定义动画 gsap.from(".my-element", { opacity: 0, y: 50, duration: 1, delay: 2, ease: "power2.out" }); } ``` **方法2: 创建新的动画函数** ```javascript // 在gsap-animations.js中添加新函数 function initMyCustomAnimations() { gsap.timeline() .from(".element1", { opacity: 0, x: -100, duration: 0.8 }) .from(".element2", { opacity: 0, x: 100, duration: 0.8 }, "-=0.4"); } // 在initAllAnimations()中调用 function initAllAnimations() { // 现有初始化... initMyCustomAnimations(); // 添加这行 } ``` **方法3: 使用提供的工具函数** ```javascript // 使用预定义的工具函数 createTextAnimation(".my-text", { y: 30, opacity: 0, duration: 0.8, stagger: 0.1 }); createFadeInAnimation(".my-image", 'left', 100); ``` ### 🔧 ScrollTrigger滚动动画 ```javascript gsap.from(".my-section", { scrollTrigger: { trigger: ".my-section", start: "top 80%", end: "bottom 20%", toggleActions: "play none none reverse", // markers: true // 调试时启用 }, y: 100, opacity: 0, duration: 1, ease: "power2.out" }); ``` ### 📱 性能优化建议 - 使用 `will-change: transform` CSS属性优化动画元素 - 避免同时运行过多复杂动画 - 在移动设备上适当减少动画复杂度 - 使用 `gsap.set()` 预设初始状态 ### 🔧 动画冲突解决方案 项目已解决GSAP与原有CSS/AOS动画的冲突问题: **已移除的冲突动画**: - AOS (Animate On Scroll) 库及其CSS - 原有的CSS关键帧动画 (slideInDown, slideInUp, fadeInUp) - 页面加载时的CSS动画 **安全机制**: - 多层元素可见性保护机制 - 动画初始化失败时的回退方案 - 立即执行的紧急可见性修复 - ScrollTrigger不可用时的兼容处理 - 导航栏强制显示保护(CSS + JS双重保障) **调试模式**: ```javascript // 在浏览器控制台中启用ScrollTrigger标记来调试动画 ScrollTrigger.batch(".your-elements", { markers: true // 显示触发点标记 }); ``` ### 🧹 代码清理 项目已完成全面的代码清理和优化: **已移除的冗余文件**: - `index.html` - 原始版本,已被index-enhanced.html替代 - `app.js` - 粒子配置已内联到HTML中 - `config.js` - 未使用的配置文件 **已清理的冗余代码**: - 重复的CSS规则(合并了两个.navbar规则) - 被注释掉的CSS动画代码和@keyframes - 整合了三个重复的可见性修复函数 - 移除了过时的注释和调试代码 **优化效果**: - 减少文件数量,简化项目结构 - 提升代码可维护性 - 减少冗余CSS,优化加载性能 - 统一动画管理系统 ## ⚙️ 自定义配置 ### 修改个人信息 编辑 `config.js` 文件中的配置项: ```javascript const resumeConfig = { personal: { name: "您的姓名", position: "您的职位", email: "your.email@example.com", phone: "您的电话", location: "您的地址", description: "个人简介..." }, // ... 其他配置项 }; ``` ### 自定义主题颜色 ```javascript theme: { primary: "#667eea", // 主色调 secondary: "#764ba2", // 次要色 accent: "#f093fb", // 强调色 dark: "#2c3e50", // 深色 light: "#ecf0f1" // 浅色 } ``` ### 添加技能项目 ```javascript skills: { core: { title: "核心技能", icon: "fas fa-star", items: { "技能名称": 85, // 技能名称: 掌握程度(0-100) "另一个技能": 90 } } } ``` ## 🎯 版本对比 | 特性 | 原版 | 增强版 | |------|------|--------| | 基础功能 | ✅ | ✅ | | 响应式设计 | ✅ | ✅ | | 加载动画 | ❌ | ✅ | | 固定导航 | ❌ | ✅ | | 滚动动画 | ❌ | ✅ | | 粒子背景 | ❌ | ✅ | | 技能展示 | 简单 | 详细分点+滚动 | | 项目展示 | 基础卡片 | 现代化左右布局 | | 交互弹窗 | ❌ | ✅ | | 图片放大 | ❌ | ✅ | | 配置化数据 | ❌ | ✅ | | SEO优化 | 基础 | 完整 | | 打印优化 | 基础 | 完整 | ## 🛠️ 技术栈 - **HTML5**: 语义化标签、模态框、响应式图片 - **CSS3**: Flexbox、Grid、渐变、动画、毛玻璃效果 - **JavaScript**: ES6+、DOM操作、事件处理、模态框交互 - **Bootstrap 5**: 响应式框架、网格系统 - **AOS**: 滚动动画库 - **particles.js**: 粒子背景动画 - **GSAP**: 专业动画库 + ScrollTrigger插件 - **Font Awesome**: 图标库 ## 📱 响应式断点 - **桌面端**: > 992px - **平板端**: 768px ~ 992px - **移动端**: < 768px ## 🌐 浏览器支持 - Chrome/Edge (推荐) - Firefox - Safari - IE 11+ (基础支持) ## 📝 使用建议 1. **个人定制**: 根据config.js修改个人信息 2. **颜色调整**: 可以修改CSS变量来更换主题色 3. **内容优化**: 根据实际情况调整简历内容 4. **图片添加**: 可以替换头像和项目图片 5. **SEO优化**: 修改title、description等元信息 ## 🔧 常见问题 ### Q: 如何修改头像? A: 目前使用的是Font Awesome图标,可以在config.js中修改avatar字段,或者直接替换HTML中的图标为图片。 ### Q: 如何添加更多项目经历? A: 在config.js的projects数组中添加新的项目对象。 ### Q: 如何部署到网络? A: 将所有文件上传到Web服务器或使用GitHub Pages等静态托管服务。 ## 📄 许可证 此项目仅供个人简历使用,请根据需要自由修改和使用。 ## 🙏 致谢 - 参考项目: [happysnaker/Resume](https://github.com/happysnaker/Resume) - 设计灵感来源于现代网页设计趋势 - 感谢开源社区提供的优秀库和工具 --- **祝您求职顺利!** 🎉