css深色模式,

  css深色模式,

  

一、背景

  随着iOS 13的发布,黑暗模式越来越多地出现在大众的视野中。支持黑暗模式已经成为现代移动应用和网站的一种趋势。前段时间,微信的改编再次引起热议。深色模式不仅可以大大降低功耗,减弱强光对比度,还可以提供更好的可视性和沉浸感。

  如何切换黑暗模式

  IOS:设置显示和亮度外观,选择黑暗Android:系统设置显示黑暗模式。

二、问题

  如果在系统中设置了暗模式,并且没有对H5页面进行相应的处理,则会出现背景颜色冲突、暗字符显示异常、暗图标显示异常等显示问题。

  因此,深色模式需要一些调整。

  我尝试了一些方案:

  

三、H5项目适配深色模式方案

  

1.声明 color-scheme

  配色方案

  有两种方法。

  1.1米

  在头部声明meta name= color-scheme content= light dark ,并声明当前页面同时支持亮暗两种模式。当系统切换到黑暗模式时,浏览器的默认风格也会切换到黑暗;

  1.2厘米

  下面的css也可以达到上面元声明的效果。

  :root {配色方案:亮暗;}注意:此语句不会自动适配页面,只影响浏览器的默认样式。

  更多信息可以在W3C文档《CSS Color Adjustment Module Level 1》中找到。

  

2.通过 CSS 媒体查询

  首选颜色方案

  CSS特性用于检测用户是否将系统的主题颜色设置为亮或暗。

  无偏好

  意味着系统不知道用户在这方面的选项。在布尔值的上下文中,其执行结果为false。

  光

  表示用户已经通知系统他们选择使用浅色主题的界面。

  黑暗

  表示用户已经通知系统他们选择使用带有深色主题的界面。

  :root {配色方案:亮暗;背景:白色;颜色:黑色;} @ media(preferred-color-scheme:dark){:root { background:black;颜色:白色;} }//如果颜色很多,建议使用CSS变量管理颜色值

3.图片适配

  使用图片来源标签设置不同模式下图片的url。

  HTML图片元素通过包括零个或多个源元素和一个img元素,为不同的显示器/设备场景提供图像版本。

  浏览器将选择最匹配的子源元素,如果没有匹配,它将选择img元素的src属性中的URL。然后,所选择的图像被呈现在由img元素占据的空间中。

  图片!-黑暗模式下的图片-source srcset= dark . jpg media=(preferences-color-scheme:dark)/!-默认模式下的图片-img src= light . jpg //picture

4. JavaScript中判断当前模式监听模式变化

   4.1 match media

  Window的matchMedia()方法返回一个新的MediaQueryList对象,该对象代表指定媒体查询(en-US)字符串的解析结果。返回的MediaQueryList可用于确定文档是否匹配媒体查询,或者监视文档以确定它是否匹配或停止匹配媒体查询。

  4.2添加侦听器()

  MediaQueryList接口的addListener()方法为MediaQueryListener增加了一个监听器,它会运行一个自定义的回调函数来响应媒体查询状态的变化。

  JavaScript监控判断

  const media query=window . match media((preferences-color-scheme:dark))函数darkmodelhandler(){ if(media query . matches){ console . log(现在是暗模式)} Else {console.log(现在是亮模式)} }//判断当前模式darkmodelhandler()//监控模式变化。媒体查询。Addlistener (darkmodehandler)就是这样。本文详细介绍了Html5项目适配系统的黑暗模式方案概要。更多相关Html5黑暗模式内容,请搜索之前的文章或者继续浏览下面的相关文章。希望你以后能支持我!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: