暗黑模式适配

 声明 color-scheme

  1. meta

    在head中声明<meta name="color-scheme" content="light dark">,声明当前页面支持 light 和 dark 两种模式,系统切换到深色模式时,浏览器默认样式也会切换到深色;

  1. css

    下面的 css 同样可以实现上面 meta 声明的效果

    
:root {
    color-scheme: light dark;
}

  

CSS媒体查询

:root {
    color-scheme: light dark;
    background: white;
    color: black;
}

@media (prefers-color-scheme: dark) {
    :root {
        background: black;
        color: white;
    }
}

js监听当前模式&模式变化

const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')

function darkModeHandler() {
    if (mediaQuery.matches) {
        console.log('现在是深色模式')
    } else {
        console.log('现在是浅色模式')
    }
}

// 判断当前模式
darkModeHandler()
// 监听模式变化
mediaQuery.addListener(darkModeHandler)

  

原文地址:https://www.cnblogs.com/liuxiaoru/p/13679473.html