目前iOS,macos都有了深色模式,而最近微信最新版也做了深色模式(dark mode)适配,我试了下,手机切换时页面效果样式是实时刷新的。于是就想着web怎么能够监听深色模式,并设置样式。查了资料后,在Stack Overflow上找到了答案,下面来看看

一般通过css里的媒体查询就能适配深色模式: (prefers-color-scheme: dark),先来看看怎么用js获取当前是否是深色模式

怎么用js判断当前是否是深色模式

// 获取当前是否是深色模式
// window.matchMedia('(prefers-color-scheme: dark)').matches
window.matchMedia && console.log('Is dark mode: ', window.matchMedia('(prefers-color-scheme: dark)').matches)

js实时监听深色模式的切换
// 用js监听深色模式的切换事件

window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (event) => {console.log('dark mode change,已' + (event.matches ? '进入': '退出') + 'dark mode')
})
window.matchMedia到底是用来做什么的?我查了下mdn,发现了这样一个示例let mql = window.matchMedia('(max-width: 600px)');document.querySelector(".mq-value").innerText = mql.matches;

怎么用css媒体查询处理深色模式样式
从这个例子看,大概就知道怎么用css来支持dark模式了吧,就是加一个类似小屏适配的一个媒体查询样式,来看个例子

/* dark mode support */
@media (prefers-color-scheme: dark) {body {background-color: black;color: #aaa;}body .content article, header, aside > div, footer  {border-color: #333;color: #aaa;background-color: black;box-shadow: 0 0 10px #333;}
}

深色模式下,一般将背景调暗,字体设置为偏白色即可。zuo11.com 已用上面的方法适配了深色模式,可以体验下。网站是开源的,zuo11.com深色模式支持代码 - github

网页深色模式样式适配(web dark mode support)相关推荐

  1. 暗黑模式(黑暗模式,深色模式)适配

    暗黑模式(黑暗模式,深色模式)适配 全局关闭 打开Info.plist 项目配置文件,添加UIUserInterfaceStyle字段,key类型为String, 其value值设置为 Light模式 ...

  2. h5深色模式快速适配背景和字体颜色

    @media (prefers-color-scheme: dark) { html, body {filter: invert(1) hue-rotate(180deg);}img, video,a ...

  3. 实现页面适配_微信公众号文章页面适配深色模式

    最近安卓微信7.0.10正式版发布,更新过后,很多用户发现,之前在测试版中对系统深色模式的适配功能被取消了,小伙伴们对此很是不满,好在Android 10系统手机用户占比很少,影响范围还不是很大,并且 ...

  4. Mac 应用中支持Dark Mode(深色模式)

    苹果在10.14版本中添加了主题设置功能,用户可以将主题切换为Dark Mode,切换后系统应用都会自动变成深色.那么如何让我们的应用也能自动适配Dark Mode呢? 暗黑模式的适配主要包括颜色适配 ...

  5. 为你的网页添加深色模式

    翻译:疯狂的技术宅 原文:https://www.creativebloq.com/how-to/how-to-implement-light-or-dark-modes-in-css CSS 规范一 ...

  6. Android深色模式适配原理分析,android应用开发

    return when (resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) { Configuration.UI ...

  7. css在兼容模式下无法引用_如何在CSS中使用深色模式

    css在兼容模式下无法引用 by Frank Lämmer 由FrankLämmer 如何在CSS中使用深色模式 (How to get dark mode working with CSS) I h ...

  8. android 9.0谷歌商店,Android 10现可选择Play商店主题模式 附Android 9强制开启深色模式教程...

    不可否认的是自打苹果于去年推出配备深色模式的 iOS 13以来,整个移动互联网都开始流行起为应用配备深色模式设计的风气,不管用户个人到底喜不喜欢用深色模式,深色模式都已经给出了足够具有说服力的理由来推 ...

  9. Web前端深色模式适配方案

    众所周知,GitHub 网站在前不久支持了深色模式.我在看 GitHub 的时候发现浏览器默认的滚动条也变成了深色样式: 我当时猜测应该有一个属性可以声明配色方案,然后浏览器根据声明的配色方案采用相应 ...

最新文章

  1. 节省磁盘空间的新一代包管理工具PNPM
  2. C# 代理做为函数参数的时候
  3. linux安装python库报错pywin32,Linux windows安装paramiko模块
  4. java 模板引擎_极简 Spring Boot 整合 Thymeleaf 页面模板
  5. 11-2 操作系统发展
  6. TreeMap方法源码
  7. python 分布图_python数据分布型图表柱形分布图系列带误差线的柱形图
  8. sort和qsort函数的用法
  9. 二甲医院云服务器,医院用上云计算 病情上传到云端可行否?
  10. 8599元起!三星Galaxy Z Fold3/Flip3 5G折叠手机国行即将发货
  11. pytorch梯度下降函数_Pytorch学习笔记6:激活函数/单层感知机/梯度下降求最小值实例...
  12. 如何用 Python 写 Excel 中 Vlookup 函数?
  13. linear-gradient常用实现效果
  14. 与程序员朋友闲聊 通用权限管理系统有啥用?
  15. PDM,读《电商产品经理宝典:电商后台系统产品逻辑全解析》
  16. 【最新黑苹果】Big Sur/Win双系统-小米笔记本pro/gtx 安装教程!
  17. Pina Colada Song现实版
  18. 深度学习之鸡兔同笼问题
  19. Python 抓取淘宝联盟优惠券
  20. 【Math】证明随机分布X1, X2, ..., Xn独立同分布的最大概率问题

热门文章

  1. java jolt tuxedo_2019年用Java通过Jolt连接Tuxedo.doc
  2. windows强制复制不计算机,Win10复制粘贴功能用不了的修复方法
  3. linux ioctl函数介绍
  4. SQL技能 - 窗口函数
  5. 基于STK的高超声速飞行器可视化仿真平台研究
  6. TensorFlow——维度变换与Broadcasting
  7. 室内设计优美语句_描述房子室内装潢唯美的句子
  8. 使用Prerender进行SEO优化
  9. 2017年双十一最全面的大数据分析报告在此!+2018年双十一已经开始,厚昌竞价托管教你如何应对流量流失?+2019年双十一大战一触即发:阿里、京东都有哪些套路和玩法
  10. NASM doc翻译 by chio.yang@gmail.com