Files
vscode-workbench/.trae/documents/navbar-theme-variables.md
T

2.3 KiB
Raw Blame History

Navbar 主题样式优化计划

目标

将 Navbar 组件中的硬编码颜色统一替换为 CSS 变量,确保主题切换时样式完全一致且易于维护。

当前问题

  1. 亮色模式使用硬编码颜色(如 white、#555、#667eea)
  2. 暗色模式有大量硬编码覆盖(如 #1e293b、rgb(139, 92, 246))
  3. 颜色值分散在多处,修改困难

修改方案

1. 亮色模式 → CSS 变量映射

硬编码值 CSS 变量 用途
white var(--card-background) 容器背景
#555 var(--text-secondary) 菜单项文字
#667eea var(--primary-color) 主色调
rgb(139, 92, 246) var(--primary-color) 主色调(统一)
#333 var(--text-primary) 用户名文字
#1a1a1a var(--text-primary) 标题文字
#8c8c8c var(--text-muted) 次要文字
#666 var(--text-secondary) 副标题文字
#4a4a4a var(--text-primary) 功能特性文字
#eee var(--border-color) 分隔线
#e8e8e8 var(--border-color) 分隔线
#e5e7eb var(--border-color) 进度条背景
#999 var(--text-muted) 搜索框前缀
#ccc var(--text-muted) 浅灰色文字
#374151 var(--text-primary) 等级标题
#9ca3af var(--text-muted) 等级经验值

2. 暗色模式简化

由于 CSS 变量已在 [data-theme="dark"] 中定义,以下规则可以完全移除:

  • .navbar-container 背景 → 由 var(--card-background) 处理
  • .ant-menu-item 颜色 → 由 var(--primary-color) 处理
  • .username-text 颜色 → 由 var(--primary-color) 处理
  • 所有 rgb(139, 92, 246) → 替换为 var(--primary-color)
  • 所有 #1e293b → 替换为 var(--card-background)
  • 所有 #334155 → 替换为 var(--border-color)

3. 需要保留的暗色模式规则

仅保留 CSS 变量无法处理的特殊情况:

  • 渐变背景(需要调整暗色下的渐变)
  • rgba 透明效果
  • Ant Design 组件覆盖(需要 !important)

影响文件

  • chunyu_project_react/src/components/Navbar/Navbar.css

验证步骤

  1. 切换日间/夜间模式,确认导航栏颜色正确变化
  2. 检查所有菜单项、下拉框、按钮样式一致
  3. 确认暗色模式下文字可读性良好