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

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

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,会随暗黑主题变化)。

相关推荐
Momo__41 分钟前
VueUse createReusableTemplate —— 单文件组件内的模板复用神器
前端·vue.js
程序员小富1 小时前
我开源了一个开发者专属的智能 JSON 工具,得到了媳妇高度认可
前端·vue.js·后端
小小小小宇1 小时前
程序员如何给 LLM 装工具以及看懂推理过程
前端
写代码的皮筏艇1 小时前
React中的forwardRef
前端·react.js·面试
槑有老呆1 小时前
花三个月工资请了个 AI 程序员,结果它连青岛啤酒股价都查不了
前端
风骏时光牛马1 小时前
Verilog开发常见问题汇总解析
前端
子兮曰1 小时前
AI Coding Method Map:一张图看懂 AI 编程的完整链路
前端·人工智能·后端
weedsfly1 小时前
语法糖褪去之后——Babel 转译产物中的 JavaScript 本貌
前端·javascript
JustHappy1 小时前
「软件设计思想杂谈🤔」“切图仔”也能懂编译原理?框架源码也许没那么难。聊聊 Vue 的编译(上)
前端·javascript·vue.js