浅色模式效果如图:
深色模式效果如图:
window.matchMedia ( https://developer.mozilla.org/zh-CN/docs/Web/API/Window/matchMedia ) 方法可以用来查询指定的媒体查询字符串解析后的结果。结合 CSS 变量和 matchMedia 的查询结果,设置对应的 CSS 主题颜色。该方法更灵活,可以单独抽离主题色进行适配,深色模式匹配 (prefers-color-scheme: dark) ,浅色模式匹配 (prefers-color-scheme: light) 。
监听主题模式,深色模式时为 body 添加类名 dark,根据 CSS 变量的响应式布局特点,自动生效 dark 类名下的 CSS。
浅色模式效果如图:
深色模式效果如图:
方法主要有三种转换函数、强制类型转换、利用js变量弱类型转换。1. 转换函数:js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。一些示例如下:复制代码 代码如下:parseInt(“1234blue”)//returns 1234parseInt(“0xA”)//returns 10parseInt(“22.5”)//returns 22parseInt(“blue”)//returns NaNparseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:复制代码代码如下:parseInt(“AF”, 16)//returns 175parseInt(“10”, 2)//returns 2parseInt(“10”, 8)//returns 8parseInt(“10”, 10)//returns 10