vue 3 换肤探索测试

import { useDark, useToggle } from '@vueuse/core'
// 获取系统主题
const isDark = useDark()
// 这句代码会在html class上面加dark属性,再次切换点击会去掉dark属性。但与系统换肤功能没关系
const toggleDark = useToggle(isDark)

//如果是没有设置主题,会优先先择这的颜色变量,
如果没定义再去@media (prefers-color-scheme: light) 里面寻找。
不会去@media (prefers-color-scheme: dark)里面寻找属性,
即使html的class=dark。
:root{
  --color-bg:#000000;
}
//html 加class=dark时起作用的变量,覆盖:root里面的变量,优先级高于系统变量
:root.dark{
  --color-bg:#000000;
}

根据系统变化的换肤变量,root里面没定义的,会再此寻找相应变量

@media (prefers-color-scheme: light) {
  :root {
    --color-bg:#ffffff;
  }
}
/*系统主题:暗色*/ 系统切换为暗色时,应用的变量
@media (prefers-color-scheme: dark) {
  :root {
    --color-bg:#000000;
  }
}

使用:

background: var(--color-bg);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流转的年华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值