ZhangQiPro/src/assets/styles/variables.css
sladro 37db6c7a6c feat: 完善BigScreenPortrait大屏功能和界面优化
- BigScreenPortrait.vue: 添加控制面板、返回按钮,统一字体大小为xl
- Dashboard.vue: 为学生角色添加"资料上传"功能卡片
- Home.vue: 为教师角色添加"学生能力画像"导航按钮
- mockData.js: 更新教师姓名为"刘澜涛",修改能力矩阵维度名称
- variables.css: 新增gray-alpha颜色变量系统
- common.css: 添加Element Plus下拉列表全局样式
- ReportMonitor.vue: 移除重复的getCSSVariable函数定义

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 18:12:50 +08:00

146 lines
5.0 KiB
CSS

:root {
/* 教学平台专业配色 */
--primary: #1e3a8a;
--primary-light: #3b82f6;
--primary-lighter: #dbeafe;
--secondary: #06b6d4;
--secondary-light: #67e8f9;
--success: #10b981;
--success-light: #6ee7b7;
--warning: #f59e0b;
--warning-light: #fcd34d;
--danger: #ef4444;
--danger-light: #fca5a5;
--purple: #8b5cf6;
/* 状态评分颜色 */
--status-default: #ddd;
--status-excellent: #67C23A;
--status-good: #E6A23C;
--status-fair: #F56C6C;
--status-poor: #909399;
/* 中性色 */
--dark: #1f2937;
--dark-light: #374151;
--gray: #6b7280;
--gray-light: #9ca3af;
--gray-lighter: #d1d5db;
--light: #f3f4f6;
--lighter: #f9fafb;
--white: #ffffff;
/* 文本颜色 */
--text-primary: var(--dark);
--text-secondary: var(--gray);
--text-muted: var(--gray-light);
--text-inverse: var(--white);
/* 背景色 */
--bg-primary: var(--white);
--bg-secondary: var(--lighter);
--bg-dark: var(--dark);
--bg-sidebar: var(--dark);
/* 边框色 */
--border: var(--gray-lighter);
--border-light: #e5e7eb;
--border-dark: var(--gray-light);
/* 间距 */
--spacing-xs: 0.5rem;
--spacing-sm: 0.75rem;
--spacing-md: 1rem;
--spacing-lg: 1.5rem;
--spacing-xl: 2rem;
--spacing-xxl: 3rem;
/* 圆角 */
--radius-sm: 4px;
--radius-md: 8px;
--radius-lg: 12px;
--radius-xl: 16px;
/* 阴影系统 */
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
/* 字体 */
--font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
--font-size-xs: 0.75rem;
--font-size-sm: 0.875rem;
--font-size-md: 1rem;
--font-size-lg: 1.125rem;
--font-size-xl: 1.25rem;
--font-size-xxl: 1.5rem;
/* 页面布局 */
--header-height: 72px;
--sidebar-width: 280px;
--container-max-width: 1200px;
/* 渐变色 */
--gradient-primary: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
--gradient-brand: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
--gradient-success: linear-gradient(135deg, var(--success) 0%, var(--success-light) 100%);
--gradient-sidebar: linear-gradient(180deg, #1e3a8a 0%, #1e40af 50%, #2563eb 100%);
--gradient-card-primary: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
--gradient-card-secondary: linear-gradient(135deg, #06b6d4 0%, #22d3ee 100%);
--gradient-card-success: linear-gradient(135deg, #10b981 0%, #34d399 100%);
--gradient-card-warning: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
--gradient-mesh: radial-gradient(circle at 20% 50%, rgba(59, 130, 246, 0.1) 0%, transparent 50%),
radial-gradient(circle at 80% 80%, rgba(6, 182, 212, 0.1) 0%, transparent 50%),
radial-gradient(circle at 40% 20%, rgba(16, 185, 129, 0.05) 0%, transparent 50%);
/* 毛玻璃效果 */
--glass-bg: rgba(255, 255, 255, 0.1);
--glass-border: rgba(255, 255, 255, 0.2);
--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15);
--glass-blur: blur(10px);
/* 透明度级别 */
--opacity-lighter: 0.02;
--opacity-light: 0.05;
--opacity-medium: 0.1;
--opacity-heavy: 0.2;
--opacity-strong: 0.3;
/* 主题色透明度变体 */
--primary-alpha-lighter: rgba(30, 58, 138, var(--opacity-lighter));
--primary-alpha-light: rgba(30, 58, 138, var(--opacity-light));
--primary-alpha-medium: rgba(30, 58, 138, var(--opacity-medium));
--primary-alpha-heavy: rgba(30, 58, 138, var(--opacity-heavy));
--primary-alpha-strong: rgba(30, 58, 138, var(--opacity-strong));
--success-alpha-light: rgba(16, 185, 129, var(--opacity-light));
--success-alpha-medium: rgba(16, 185, 129, var(--opacity-medium));
--success-alpha-heavy: rgba(16, 185, 129, var(--opacity-heavy));
--danger-alpha-light: rgba(239, 68, 68, var(--opacity-light));
--danger-alpha-heavy: rgba(239, 68, 68, var(--opacity-heavy));
--secondary-alpha-heavy: rgba(6, 182, 212, var(--opacity-heavy));
--gray-alpha-light: rgba(107, 114, 128, var(--opacity-light));
--gray-alpha-medium: rgba(107, 114, 128, var(--opacity-medium));
--gray-alpha-heavy: rgba(107, 114, 128, var(--opacity-heavy));
--white-alpha-high: rgba(255, 255, 255, 0.98);
--white-alpha-medium: rgba(255, 255, 255, 0.9);
--white-alpha-light: rgba(255, 255, 255, 0.6);
--white-alpha-lighter: rgba(255, 255, 255, 0.1);
--black-alpha-light: rgba(0, 0, 0, 0.08);
--black-alpha-medium: rgba(0, 0, 0, 0.15);
/* 动画 */
--transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
--transition-slow: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
--transition-spring: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
--animation-float: float 3s ease-in-out infinite;
--animation-glow: glow 2s ease-in-out infinite;
}