移动端适配
移动端适配确保应用在手机和小屏设备上提供良好的用户体验。
📱 移动端断点
scss
$device-phone: 500px; // 手机设备
$sm: 768px; // 小屏幕断点
🎯 移动端优化
1. 布局调整
scss
@include respond-to('sm') {
.sidebar {
width: 100%;
position: fixed;
z-index: var(--z-sidebar);
}
.app-main {
padding: 8px;
}
}
2. 字体调整
scss
@media (max-width: 768px) {
body {
font-size: 16px; // 移动端基础字号增大
line-height: 1.6; // 增加行高提升可读性
}
h1 { font-size: 2rem; }
h2 { font-size: 1.75rem; }
h3 { font-size: 1.5rem; }
}
3. 触摸优化
scss
@media (max-width: 768px) {
button,
.clickable {
min-height: 44px; // iOS 推荐的最小触摸目标
min-width: 44px;
}
.el-button {
padding: 12px 20px; // 增大触摸区域
}
}
📐 响应式组件
导航栏
scss
.navbar {
@include respond-to('sm') {
flex-direction: column;
.nav-item {
width: 100%;
border-bottom: 1px solid var(--app-border);
}
}
}
表格
scss
.el-table {
@include respond-to('sm') {
// 移动端横向滚动
overflow-x: auto;
.el-table__header {
white-space: nowrap;
}
}
}
表单
scss
.form-container {
@include respond-to('sm') {
.el-form-item {
margin-bottom: 16px;
.el-form-item__label {
display: block;
width: 100%;
text-align: left;
margin-bottom: 4px;
}
}
}
}
🎨 移动端主题
scss
@media (max-width: 768px) {
:root {
--menu-bg: var(--bg-level-1); // 移动端使用浅色菜单
--menu-text: var(--app-text);
}
}
✅ 移动端检查清单
- [ ] 触摸目标至少 44x44px
- [ ] 字体大小至少 16px
- [ ] 横向滚动的表格和列表
- [ ] 折叠的侧边栏菜单
- [ ] 适当的间距和留白
- [ ] 禁用 hover 效果(使用
@media (hover: hover)
)
移动端适配确保了应用在小屏设备上的可用性和美观性。