MuseMVP 文档
主题与布局

主题模式与样式变量

配置 MuseMVP 当前主题体系中的 light/dark/system 模式、变量 token 与主题切换行为。

本文聚焦 MuseMVP 当前版本的主题实现:模式切换(light / dark / system)+ CSS 变量定制。

能力概览

能力当前实现
可用主题模式config.ui.enabledThemes 控制
默认主题模式config.ui.defaultTheme 控制
全局主题 Providernext-themes,挂载于 src/modules/html-document/Document.tsx
变量来源src/app/globals.csssrc/app/styles/theme.css
前端切换器应用布局中使用 ColorThemeSwitcherNoCustomTheme

范围说明

当前体系是稳定的“模式切换 + 变量 token”方案,不内置多品牌预设主题库。

快速配置

设置可用模式

src/config/index.ts 中调整 enabledThemesdefaultTheme

// src/config/index.ts
ui: {
  enabledThemes: ["light", "dark", "system"],
  defaultTheme: "dark",
}

修改核心变量

src/app/globals.css 中维护基础变量与暗色变量。

/* src/app/globals.css */
:root {
  --background: oklch(...);
  --foreground: oklch(...);
  --primary: oklch(...);
}

.dark {
  --background: oklch(...);
  --foreground: oklch(...);
  --primary: oklch(...);
}

按需扩展业务变量

src/app/styles/theme.css 增加扩展 token(如 --success--highlight),并在组件中消费。

模式选项说明

模式值含义
light固定浅色主题
dark固定深色主题
system跟随系统/浏览器颜色偏好

常见误区

注意样式导入顺序

src/app/main.css 中先导入 theme.css,后导入 globals.css
若两处定义同名变量,最终以 globals.css 为准。

默认模式必须在可用列表里

请保持 defaultTheme 一定包含在 enabledThemes 中。
例如 defaultThemedark 时,enabledThemes 里必须有 dark

相关文档