对整个管理系统进行了全面的视觉升级,提升用户体验和现代感。
- 主色调: 蓝紫渐变 (#667eea → #764ba2)
- 功能色:
- 成功: #10b981 (翠绿)
- 警告: #f59e0b (琥珀)
- 危险: #ef4444 (珊瑚红)
- 信息: #3b82f6 (天蓝)
--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);
--gradient-warning: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
--gradient-danger: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);- ✅ 渐变背景光晕效果
- ✅ 悬停时的 3D 提升动画
- ✅ 图标发光效果
- ✅ 趋势指示器(上升/下降百分比)
- ✅ 平滑的过渡动画
特性:
<StatCard
title="总用户数"
value="1,254"
icon="👥"
color="#667eea"
trend="12.5" <!-- 新增趋势 -->
/>- ✅ 毛玻璃效果 (backdrop-filter)
- ✅ 渐变 Logo 图标
- ✅ 用户信息卡片化
- ✅ 优雅的退出按钮动画
- ✅ 显示用户角色信息
- ✅ 现代化菜单项设计
- ✅ 活动状态指示器(脉冲动画)
- ✅ 悬停时的滑动效果
- ✅ 折叠/展开切换按钮
- ✅ 平滑的过渡动画
- ✅ 动态渐变背景
- ✅ 浮动光球动画
- ✅ 毛玻璃登录框
- ✅ Logo 弹跳动画
- ✅ 输入框图标
- ✅ 记住我 & 忘记密码选项
- ✅ 优雅的表单验证
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slideIn {
from {
opacity: 0;
transform: translateX(-20px);
}
to {
opacity: 1;
transform: translateX(0);
}
}- 卡片悬停:
translateY(-8px) + scale(1.02) - 按钮悬停:
translateY(-2px) + 阴影增强 - 菜单项悬停:
translateX(4px) + 背景变化
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);--radius-sm: 0.375rem; // 6px
--radius: 0.5rem; // 8px
--radius-md: 0.75rem; // 12px
--radius-lg: 1rem; // 16px
--radius-xl: 1.5rem; // 24px--transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
--transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);
--transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: var(--bg-secondary);
border-radius: var(--radius);
}
::-webkit-scrollbar-thumb {
background: var(--border-color);
border-radius: var(--radius);
&:hover {
background: var(--text-tertiary);
}
}.page-title span {
background: var(--gradient-primary);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}backdrop-filter: blur(20px);
background: rgba(255, 255, 255, 0.95);.icon-glow {
background: var(--card-gradient);
filter: blur(20px);
opacity: 0.6;
}@keyframes pulse {
0%, 100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.5;
transform: scale(0.8);
}
}- 桌面: > 1200px
- 平板: 768px - 1200px
- 手机: < 768px
@media (max-width: 1200px) {
.stats-container {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.stats-container {
grid-template-columns: 1fr;
}
}已预留暗色主题变量:
[data-theme='dark'] {
--primary-color: #818cf8;
--bg-color: #0f172a;
--card-bg: #1e293b;
--text-primary: #f1f5f9;
--border-color: #334155;
}使用 CSS 变量实现主题切换,无需重新编译
transform: translateZ(0);
will-change: transform;使用 cubic-bezier 缓动函数,提供流畅的动画体验
- ✅
src/assets/styles/variables.scss- 变量系统 - ✅
src/assets/styles/common.scss- 公共样式
- ✅
src/components/layout/AppHeader.vue- 顶部导航 - ✅
src/components/layout/AppSidebar.vue- 侧边栏 - ✅
src/components/common/StatCard.vue- 统计卡片
- ✅
src/views/login/index.vue- 登录页 - ✅
src/views/dashboard/index.vue- 仪表盘
所有新组件应使用统一的设计系统:
- 使用 CSS 变量定义的颜色
- 使用标准的圆角和阴影
- 使用统一的过渡时间
- 保持动画简洁(< 300ms)
- 使用
cubic-bezier缓动 - 避免过度动画
- 保持足够的颜色对比度
- 提供键盘导航支持
- 添加适当的 ARIA 标签
- 动态渐变背景 + 浮动光球
- 毛玻璃登录框
- 优雅的表单交互
- 现代化统计卡片(带趋势)
- 平滑的图表动画
- 响应式网格布局
- 渐变 Logo + 毛玻璃效果
- 优雅的菜单交互
- 活动状态指示器
- 添加更多图表类型 - 饼图、柱状图等
- 实现暗色主题切换 - 添加主题切换按钮
- 添加骨架屏 - 提升加载体验
- 优化移动端体验 - 添加手势支持
- 添加微交互 - 按钮点击反馈等
- Material Design 3
- Tailwind CSS
- Ant Design
- Element Plus
- Modern Dashboard Designs
美化完成! 🎉 现在系统拥有现代化、专业的视觉效果。