305 lines
5.8 KiB
Markdown
305 lines
5.8 KiB
Markdown
# 移动端适配指南
|
||
|
||
## 概述
|
||
|
||
本项目已全面适配移动端,包括响应式布局、触摸优化、性能优化等,确保在各种移动设备上都有良好的用户体验。
|
||
|
||
## 🎯 已实现的移动端适配
|
||
|
||
### 1. 响应式导航
|
||
- **桌面端导航**:完整的主菜单和下拉菜单
|
||
- **移动端导航**:汉堡菜单 + 全屏移动端菜单
|
||
- **返回按钮**:移动端菜单中的返回功能,已修复显示问题
|
||
|
||
### 2. 响应式布局
|
||
- **断点设置**:
|
||
- 移动端:≤768px
|
||
- 平板端:769px-1024px
|
||
- 桌面端:>1024px
|
||
- **网格系统**:自动从多列调整为单列
|
||
- **容器适配**:边距和间距自动调整
|
||
|
||
|
||
|
||
### 4. 性能优化
|
||
- **移动端动画简化**:减少复杂动画
|
||
- **图片优化**:高分辨率屏幕支持
|
||
- **硬件加速**:启用GPU加速
|
||
|
||
## 📱 移动端适配详情
|
||
|
||
### 头部导航适配
|
||
|
||
#### 桌面端导航
|
||
```html
|
||
<div class="bottom desktop">
|
||
<!-- 完整的主菜单 -->
|
||
</div>
|
||
```
|
||
|
||
#### 移动端导航
|
||
```html
|
||
<div class="bottom headerBottom mobile">
|
||
<!-- 移动端导航栏 -->
|
||
</div>
|
||
|
||
<div id="mobileMenu" class="headerMobileMenu bread">
|
||
<!-- 移动端全屏菜单 -->
|
||
</div>
|
||
```
|
||
|
||
#### 返回按钮修复
|
||
```css
|
||
/* 返回按钮移动端适配 */
|
||
.goBack {
|
||
margin-top: 30px;
|
||
padding-top: 20px;
|
||
border-top: 2px solid rgba(255, 255, 255, 0.3);
|
||
}
|
||
|
||
.linkGoBack {
|
||
display: flex;
|
||
align-items: center;
|
||
color: white;
|
||
text-decoration: none;
|
||
font-size: 16px;
|
||
padding: 15px 0;
|
||
}
|
||
|
||
.linkGoBack img {
|
||
width: 20px;
|
||
height: 20px;
|
||
margin-right: 10px;
|
||
filter: brightness(0) invert(1);
|
||
}
|
||
```
|
||
|
||
### 页面布局适配
|
||
|
||
#### 横幅区域
|
||
```css
|
||
@media (max-width: 768px) {
|
||
.page-banner {
|
||
padding: 60px 0 40px !important;
|
||
}
|
||
|
||
.banner-title {
|
||
font-size: 2.5rem !important;
|
||
line-height: 1.2 !important;
|
||
}
|
||
|
||
.banner-subtitle {
|
||
font-size: 1.2rem !important;
|
||
line-height: 1.4 !important;
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 网格布局
|
||
```css
|
||
@media (max-width: 768px) {
|
||
.advantages-grid,
|
||
.areas-grid,
|
||
.services-grid {
|
||
grid-template-columns: 1fr !important;
|
||
gap: 20px !important;
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 卡片组件
|
||
```css
|
||
@media (max-width: 768px) {
|
||
.card,
|
||
.advantage-card,
|
||
.area-card {
|
||
padding: 25px 20px !important;
|
||
margin-bottom: 20px !important;
|
||
}
|
||
}
|
||
```
|
||
|
||
## 🔧 使用方法
|
||
|
||
### 1. 自动适配
|
||
大部分页面会自动适配移动端,无需额外配置。
|
||
|
||
### 2. 手动添加移动端类
|
||
```html
|
||
<!-- 移动端隐藏 -->
|
||
<div class="desktop-only">仅桌面端显示</div>
|
||
|
||
<!-- 移动端显示 -->
|
||
<div class="mobile-only">仅移动端显示</div>
|
||
|
||
<!-- 响应式容器 -->
|
||
<div class="container">自动适配边距</div>
|
||
|
||
<!-- 响应式网格 -->
|
||
<div class="grid">自动调整列数</div>
|
||
```
|
||
|
||
### 3. 自定义断点
|
||
```css
|
||
/* 自定义移动端断点 */
|
||
@media (max-width: 600px) {
|
||
.custom-element {
|
||
font-size: 14px;
|
||
}
|
||
}
|
||
```
|
||
|
||
## 📐 断点规范
|
||
|
||
### 标准断点
|
||
```css
|
||
/* 超小屏幕 */
|
||
@media (max-width: 360px) { }
|
||
|
||
/* 小屏幕手机 */
|
||
@media (max-width: 480px) { }
|
||
|
||
/* 移动端 */
|
||
@media (max-width: 768px) { }
|
||
|
||
/* 平板端 */
|
||
@media (min-width: 769px) and (max-width: 1024px) { }
|
||
|
||
/* 桌面端 */
|
||
@media (min-width: 1025px) { }
|
||
```
|
||
|
||
### 特殊断点
|
||
```css
|
||
/* 横屏模式 */
|
||
@media (orientation: landscape) and (max-height: 500px) { }
|
||
|
||
/* 触摸设备 */
|
||
@media (hover: none) and (pointer: coarse) { }
|
||
|
||
/* 高分辨率屏幕 */
|
||
@media (-webkit-min-device-pixel-ratio: 2) { }
|
||
|
||
/* 深色模式 */
|
||
@media (prefers-color-scheme: dark) { }
|
||
|
||
/* 减少动画偏好 */
|
||
@media (prefers-reduced-motion: reduce) { }
|
||
```
|
||
|
||
## 🎨 移动端样式规范
|
||
|
||
### 1. 字体大小
|
||
- **主标题**:移动端 2.5rem,小屏幕 2rem
|
||
- **副标题**:移动端 1.2rem,小屏幕 1rem
|
||
- **正文**:移动端 1rem,小屏幕 0.95rem
|
||
|
||
### 2. 间距规范
|
||
- **页面间距**:移动端 40px,小屏幕 30px
|
||
- **容器边距**:移动端 15px,小屏幕 10px
|
||
- **卡片内边距**:移动端 25px 20px,小屏幕 20px 15px
|
||
|
||
### 3. 触摸优化
|
||
- **按钮最小尺寸**:44px × 44px
|
||
- **触摸间距**:最小 8px
|
||
- **触摸反馈**:禁用悬停效果
|
||
|
||
## 🚀 性能优化建议
|
||
|
||
### 1. 移动端优化
|
||
```css
|
||
/* 减少动画复杂度 */
|
||
@media (max-width: 768px) {
|
||
.animate {
|
||
animation-duration: 0.5s;
|
||
}
|
||
|
||
.floating-particles {
|
||
display: none;
|
||
}
|
||
}
|
||
```
|
||
|
||
### 2. 触摸设备优化
|
||
```css
|
||
/* 触摸友好的交互 */
|
||
@media (hover: none) and (pointer: coarse) {
|
||
.hover-effect {
|
||
display: none;
|
||
}
|
||
|
||
.touch-friendly {
|
||
min-height: 44px;
|
||
}
|
||
}
|
||
```
|
||
|
||
### 3. 高分辨率优化
|
||
```css
|
||
/* 高分辨率屏幕优化 */
|
||
@media (-webkit-min-device-pixel-ratio: 2) {
|
||
.icon {
|
||
image-rendering: -webkit-optimize-contrast;
|
||
}
|
||
}
|
||
```
|
||
|
||
## 🐛 常见问题解决
|
||
|
||
### Q: 返回按钮在移动端不显示?
|
||
A: 已修复,现在返回按钮在移动端菜单中正确显示,带有白色图标和文字。
|
||
|
||
### Q: 移动端菜单无法关闭?
|
||
A: 支持多种关闭方式:
|
||
- 点击返回按钮
|
||
- 点击菜单项
|
||
- 点击外部区域
|
||
- 按ESC键
|
||
|
||
### Q: 移动端动画卡顿?
|
||
A: 已优化:
|
||
- 减少动画复杂度
|
||
- 禁用复杂粒子效果
|
||
- 优化触摸设备性能
|
||
|
||
### Q: 如何自定义移动端样式?
|
||
A: 使用 `!important` 覆盖,或添加自定义断点:
|
||
```css
|
||
@media (max-width: 768px) {
|
||
.custom-element {
|
||
/* 自定义样式 */
|
||
}
|
||
}
|
||
```
|
||
|
||
## 📱 测试建议
|
||
|
||
### 1. 设备测试
|
||
- iPhone (各种尺寸)
|
||
- Android (各种尺寸)
|
||
- iPad (横竖屏)
|
||
- 桌面端 (各种分辨率)
|
||
|
||
### 2. 功能测试
|
||
- 导航菜单
|
||
- 触摸交互
|
||
- 滚动性能
|
||
- 动画效果
|
||
|
||
### 3. 性能测试
|
||
- 页面加载速度
|
||
- 滚动流畅度
|
||
- 内存使用
|
||
- 电池消耗
|
||
|
||
## 🎉 总结
|
||
|
||
通过全面的移动端适配,项目现在支持:
|
||
- ✅ 响应式导航
|
||
- ✅ 触摸友好交互
|
||
- ✅ 性能优化
|
||
- ✅ 多设备兼容
|
||
- ✅ 无障碍支持
|
||
|
||
所有页面都已适配移动端,确保在各种设备上都有良好的用户体验!
|