微信 深色模式适配


问题描述

提示:这里描述项目中遇到的问题:

用户反馈 页面没有随着手机模式(深色模式,正常模式)切换 而改变!!!


解决方案:

思路:prefers-color-scheme 媒体查询 具有两个可以指定的有效值: light 和 dark :

第一种 :用css来解决问题


/* Defaults */  
:root {
    --color-scheme-background: pink;
    --color-scheme-text-color: red;
}
 
/* Light mode */
@media (prefers-color-scheme: light) {
    :root {
        --color-scheme-background: white;
        --color-scheme-text-color: black;
    }
}
 
/* Dark mode */
@media (prefers-color-scheme: dark) {
    :root {
        --color-scheme-background: black;
        --color-scheme-text-color: white;
    }
}
 
/* Usage */
html {
    background: var(--color-scheme-background);
    color: var(--color-scheme-text-color);

第二种 : 用js来控制

说实话感觉有点脱裤子放屁 其实用的还是媒体查询,但是场景不同选择不同,各有利弊


html {
    content: ""; /* (ab)using the content property */
}
 
/* Light mode */
@media (prefers-color-scheme: light) {
    html {
        content: "light"; /* (ab)using the content property */
    }
}
 
/* Dark mode */
@media (prefers-color-scheme: dark) {
    html {
        content: "dark"; /* (ab)using the content property */
    }

const mode = getComputedStyle(document.documentElement).getPropertyValue('content');

// mode: "dark"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值