实现原理是应用css3新特性 :root
和--xxx
以及var(--xxx)
来实现,直接看代码
//mytest.css
//theme是随便定义的,abc也行
:root[theme="dark"]{
//主题色
--main-color:#00deff
}
:root[theme="light"]{
//主题色
--main-color:#42eb82
}
//通过js来控制theme的值,来实现样式的切换
//至于背景图之类的,就全局通信来动态修改
if (isLight) { //根据实际情况来更改值
document.documentElement.setAttribute('theme', 'light')
} else {
document.documentElement.setAttribute('theme', 'dark')
}