快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → 个人博客网站怎么适配手机端夜间模式或深色模式

个人博客网站怎么适配手机端夜间模式或深色模式

时间:2022-09-24 14:01:34人气:作者:快盘下载我要评论

大家对网站的自适应模式都已经清楚了,现在个人博客基本都兼容自适应代码,相比手机端的优势很明显,在PC端、手机端和IPAD端都采用同一套代码,不必再另外解析独立域名,有效避免了网页内容的重复,并能集中精力维护网页,对搜索引擎友好。但是近几年各大手机厂商逐渐开始注重深色方式或者说夜间模式,从而改善用户在环境光亮低时的阅读体验。很多手机APP应用都已经对夜间模式进行了支持,那么问题来了,对于手机网站来说,个人博客的网站能否支持自适应浅色模式和夜间模式呢?答案是当然可以啦!

个人博客网站怎么适配手机端夜间模式或深色模式

早在2020年7月W3C推出的 prefers-color-scheme 的 media 选择器,使得网页能够适配深色模式和浅色模式。

什么是prefers-color-scheme?

W3C 在 2020 年 7 月 31 日发布的 Media Queries Level 5 标准草案 中提到了新的属性 prefers-color-scheme,网页现在可以通过条件规则组来获取浏览器宿系统的暗色模式状态并应用了。也就是说,现在我们可以很简单地实现“暗色模式系统访问的页面是暗色的,亮色模式系统访问的页面是亮色的”。

就技术而言我们先就可以很简单地实现手机端浅色和夜间模式的适配,prefers-color-scheme 有 2 种值: 

light——浏览器宿系统使用亮色主题的界面,同时也是默认值,浏览器 privacy.resistFingerprinting 被设置为 true 时返回的也将是这个值。

dark——浏览器宿系统使用暗色主题的界面。

还有一个已废弃的值: no-preference——浏览器宿系统使用未知主题的界面,当较旧版本的浏览器在宿系统不支持系统层级的暗色模式时会返回这个值,较旧版本的浏览器 privacy.resistFingerprinting 被设置为 true 时返回的也将是这个值,通过条件规则组就可以作出判断。

CSS代码

@media (prefers-color-scheme: dark) {
    // 暗色模式样式
}
@media not (prefers-color-scheme: dark) {
    // 非暗色模式样式
}

JavaScript

只使用 CSS 条件规则很难实现某些需求,我们可以对 window 使用 matchMedia 方法得到的 Media 使用 matches 方法来获取系统暗色模式状态:

if (window.matchMedia('prefers-color-scheme: dark').matches) {
    // 是暗色模式做什么
} else {
    // 非暗色模式做什么
}

另外还可以监听系统暗色模式的状态,在系统开关暗色模式时作出反应:

window.matchMedia('(prefers-color-scheme: dark)').addListener(e => {
    if (e.matches) {
        // 系统开启暗色模式后做什么
    } else {
        // 系统关闭暗色模式后做什么
    }
});

其实 prefers-color-scheme 也不是什么新东西了,去年水果就已经在 macOS Mojave 上的 Safari 中添加了它,随后各浏览器不断跟进,现在的兼容性还算不错。

至此通过上面的代码兼容,我们就可以实现手机端深色和夜间模式的自适应兼容,之前在群里看到有人讨论过,然后自己也一致未在意,今天在公众号看新闻时看到了月光博客写的这篇文章教程,自己也百度查看了相关的资料,至于主题是否会增加,带商议后决定了,不要着急,给科技一点时间,哈哈,这句话耳熟么?魅族发布会说的,给科技以时间!好了,教程记录完成,有问题留言反馈自己。

相关文章

  • CSS3图片鼠标悬停动画js特效

    CSS3图片鼠标悬停动画js特效,CSS3图片鼠标悬停动画特效。该特效在鼠标悬停到图片上面的时候,利用CSS3制作上下关门的动画效果,非常炫酷。...
  • CSS再学习(如何设置背景图片透明)

    CSS再学习(如何设置背景图片透明),怎么设置背景图片的透明度?1 在HTML中在body内部的任意位置写上img标签并定义classclass.back{/*---重点---*//*设置透明度*//*设置图片的层级为最底层,即在所有内容的最下面*//*设置图片固定(不随页面滚动),配合z-index就可以实现让图片作为背景*/}...

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。