跟随系统暗黑模式动态更改已有的颜色

永远只跟随系统、不要被手动切换影响

css 复制代码
:deep(.arco-menu) {
      background-color: var(--color-bg);
}

可以通过"改写 CSS 变量本身"的方式实现:default-layout.vue 里继续写 background-color: var(--color-bg); 不动,只在全局样式里让 --color-bg 在 light/dark 时取不同值即可。

less 复制代码
body {
  --color-bg: #f6f8fa;
}

body[arco-theme='light'] {
  --color-bg: #f6f8fa;
}

body[arco-theme='dark'] {
  --color-bg: var(--color-bg-2);
}

@media (prefers-color-scheme: dark) {
  body:not([arco-theme]) {
    --color-bg: var(--color-bg-2);
  }
}

如果页面上没有显式设置 arco-theme,就会走 prefers-color-scheme 的媒体查询:系统暗黑 → --color-bg 自动变为暗色(这里用的是 Arco 自带的 --color-bg-2,会随暗黑主题变化)。

相关推荐
英俊潇洒美少年2 小时前
Vue3 的 JSX 函数组件,每次更新都会重新运行吗?
前端·javascript·vue.js
木斯佳2 小时前
前端八股文面经大全:腾讯前端暑期AI面(2026-03-26)·面经深度解析
前端·人工智能·ai·智能体·暑期实习
invicinble2 小时前
对于一个基本的前端后台管理框架的分析和认识
前端
恋猫de小郭2 小时前
Android 17 新适配要求,各大权限进一步收紧,适配难度提升
android·前端·flutter
高桥凉介发量惊人2 小时前
UI 与交互篇 (3/6):动画体系:隐式动画到自定义动画
前端
cyforkk2 小时前
前端架构实战:当服务器关闭时,如何优雅提示 502 错误?
服务器·前端·架构
高桥凉介发量惊人2 小时前
UI 与交互篇(1/6):组件化思路:从页面复制到可复用组件
前端
kyriewen2 小时前
Generator 函数:那个能“暂停”的函数,到底有什么用?
前端·javascript·面试
打酱油的D3 小时前
01. Node.js 运行时
前端·后端
是大强3 小时前
Electron 打包用 junction 代替 symlink
前端·javascript·electron