变更主题色思路
- 写两套css样式
- 设置html的class,当html的class为light,就是浅色模式。当html的class是dark,就是深色模式
- 对应渲染不同的CSS,(后续用tailwindcss举例)
跟随系统
利用 Window.matchMedia() 方法。该方法接收一个 mediaQueryString(媒体查询解析的字符串) ,该字符串我们可以传递 prefers-color-scheme ,即 window.matchMedia('(prefers-color-scheme: dark)') 方法
该方法可以返回一个 MediaQueryList 对象:
- 同时存在一个
matches属性,该属性为boolean性的值。true是深色主题false是浅色主题 - 该对象存在一个
change事件,可以监听 主题发生变更 的行为。一般在这个事件触发变更主题色的方法
图中是浅色主题,还没有开发变更主题色代码、