一、背景 p6 Y9 U, B9 X3 _* _ 随着 iOS 13 的发布,深色模式(Dark Mode)越来越多地出现在大众的视野中,支持深色模式已经成为现代移动应用和网站的一个潮流,前段时间更是因为微信的适配再度引起热议。深色模式不仅可以大幅减少电量的消耗,减弱强光对比,还能 提供更好的可视性和沉浸感。' N' V- J1 k- R, a b6 J7 w& |
如何切换深色模式0 S" Q9 u, C$ _1 u
iOS:“设置”--“显示与亮度”--“外观”,选择“深色”
Android:“系统设置”--“显示”--“深色模式”。 R; a, ^- S: `3 [2 F; H3 y9 Y6 A
二、问题2 [" Q4 l, D* t' F( J: f2 C/ O0 A
如果系统设置了深色模式,H5页面不做相应的处理,会出现背景色冲突、深色文字显示异常,深色图标显示异常等一些显示上的问题。 4 K4 V u, A b; g6 k | 所以,需要对深色模式进行一些适配。! Y/ q0 X! |6 C 三、H5项目适配深色模式方案 ' N- E, {* Q5 ]! e- b& {' R1 N% Q1.声明 color-scheme # ^( l- h' {5 w- t& ?* r3 E color-scheme有两种方式。0 ]5 \: Q8 P# |+ E6 b k3 w 1.1meta # a, S/ P/ Y" M& u& G+ r. _$ y8 p 在head中声明<meta name="color-scheme" content="light dark">,声明当前页面支持 light 和 dark 两种模式,系统切换到深色模式时,浏览器默认样式也会切换到深色;7 ^! C I/ z- T6 r1 G: T: K 1.2CSS2 q, t& F" z- n. K
下面的 css 同样可以实现上面 meta 声明的效果' C) f) n d- Y& ^1 c