Skip to content

暗色模式 ​

暗色模式沿用 Element Plus 的 html.dark 约定。先加载对应样式,再切换根元素上的类名。

全量引入 ​

应用入口同时引入亮色主题和暗色样式。

ts
import 'element-plus-theme-arco'
import 'element-plus-theme-arco/dark'

按需引入 ​

已配置 快速开始 中的 arcoTheme() 时,导入 Element Plus 的暗色入口,插件会把它重定向到主题镜像。

ts
import 'element-plus/theme-chalk/dark/css-vars.css'

按需模式下继续让组件解析器加载各组件样式,无需再引入全量主题。

切换外观 ​

在开关的事件回调中切换 dark 类;isDark 表示应用当前的暗色状态。

ts
function updateAppearance(isDark: boolean) {
  document.documentElement.classList.toggle('dark', isDark)
}

服务端渲染时不要在模块顶层读取 document;把切换放到挂载后或浏览器事件中。Element Plus 变量和主题提供的 Arco 变量会一起随 html.dark 切换。

颜色合成与边界 ​

Arco 暗色的填充和文字使用半透明色。主题沿用 Element Plus 的做法,将大部分颜色合成到容器背景 #232324 上,生成不透明色;部分组件内部仍保留半透明颜色以匹配叠加效果。

因此,将组件直接放在更深的页面背景 #17171a 上时,填充可能比 Arco 原版略亮。业务容器可使用 var(--color-bg-2) 与默认合成背景保持一致,详见 主题定制。