# Web深色模式适配 系统提供浅色和深色的主题模式供用户选择。深色模式在低光环境下能够降低屏幕亮度,减少光线刺激,改善阅读体验。Web组件根据网页样式进行渲染。若网页未适配深色模式,会造成与系统主题的割裂感。网页开发者应考虑用户的主题偏好,适配深色模式,以保证用户体验的一致性。 ArkWeb提供灵活控制Web组件深色模式的能力,支持独立于系统进行设置。此外,ArkWeb还可以强制不同网页适配深色模式,以兼容不同的系统主题。 ## 网页深色模式适配 在网页开发过程中,可以使用color-scheme和prefers-color-scheme属性进行深色模式适配。 - color-scheme是一个CSS属性,用于表示网页支持的配色方案,可以影响表单、滚动条和CSS系统颜色。CSS系统颜色指Web组件内置的颜色,是部分元素未定义样式时应用的默认颜色。 当声明支持深色配色方案时,Web组件可以将网页内的表单、滚动条以及使用CSS系统颜色的元素切换为深色样式。如果元素自定义了颜色样式,则不受color-scheme的影响,保持自定义的颜色样式。 color-scheme未设置时,默认为`normal`,表示未指定配色方案,使用Web组件的默认配色方案,表现与`light`一致。使用样例如下: ```html /* 使用方式1:使用meta标签全局设置 */ /* 只支持浅色模式 */ /* 使用方式2:使用style全局设置 */ :root { color-scheme: light dark; /* 支持浅色和深色模式,跟随系统切换 */ } /* 使用方式3:使用style针对特定元素设置 */ div { color-scheme: light; /* 只支持浅色模式 */ } ``` 例如,color-scheme.html页面在Web深色模式关闭和开启时的渲染效果如下图所示。关闭深色模式,网页采用浅色配色方案,input2应用自定义背景样式。开启深色模式,网页采用深色配色方案,input2保持自定义样式,而网页背景、字体、表单、进度条及按钮的颜色均自动切换为深色配色。 ```html
Dark mode debug page