一、背景 . b' d& M1 V/ D4 G; }2 E 随着 iOS 13 的发布,深色模式(Dark Mode)越来越多地出现在大众的视野中,支持深色模式已经成为现代移动应用和网站的一个潮流,前段时间更是因为微信的适配再度引起热议。深色模式不仅可以大幅减少电量的消耗,减弱强光对比,还能 提供更好的可视性和沉浸感。 : J: o1 }& Q5 C' p- F# g ]& p如何切换深色模式 8 ?" W- c. s b3 t, T
iOS:“设置”--“显示与亮度”--“外观”,选择“深色”
Android:“系统设置”--“显示”--“深色模式”。 ) }9 n: \8 x- p: S N
二、问题& `' E5 B0 [ e+ t2 G/ W! X8 \
如果系统设置了深色模式,H5页面不做相应的处理,会出现背景色冲突、深色文字显示异常,深色图标显示异常等一些显示上的问题。# e+ A q+ e9 S! K
所以,需要对深色模式进行一些适配。, }0 ?. G [8 i3 S* F t5 [ 三、H5项目适配深色模式方案 ' }7 S, B3 N! i6 c0 h; K& z9 f I1.声明 color-scheme 5 c2 b: s5 @. j) Z, h# O color-scheme有两种方式。 }% d; U0 T) C M$ N! y1 \1.1meta6 Y3 J& ~# o8 M9 _* k% \, k
在head中声明<meta name="color-scheme" content="light dark">,声明当前页面支持 light 和 dark 两种模式,系统切换到深色模式时,浏览器默认样式也会切换到深色; - n( n! Z ~$ M2 W6 X0 v: H1.2CSS( ^% G5 c2 `4 q2 |5 [5 i, T8 z1 A
下面的 css 同样可以实现上面 meta 声明的效果+ `- H1 W K7 ?' q2 J