如何覆盖iOS版Microsoft Edge的CSS深色模式强制覆盖?
iOS版Microsoft Edge强制覆盖网页主题的解决方案求助
iOS版Microsoft Edge提供「浅色」「深色」「跟随系统」三种主题选项:
- 当处于「浅色」模式或「跟随系统」(且iOS外观为浅色)时,网页显示符合预期
- 当处于「深色」模式或「跟随系统」(且iOS外观为深色)时,浏览器会强制将网页改为深色主题,完全无视网页自身的主题设置
实际异常场景
- 将Stack Overflow设为深色主题,同时Edge开启深色模式,页面显示异常——Edge不尊重Stack Overflow的深色主题配置
- 网页自带主题选择器(自动/浅色/深色):选择「自动」「深色」时显示正常,但选「浅色」主题时,Edge会强制替换为它的深色主题,直接覆盖用户选择
虽然已计划向微软反馈修复,但开发者需要即时的解决方案,求分享可行的应对方法。
编辑:2024-06-26
目前排查发现该问题可能与Chromium启用的「强制深色模式」实验性标志有关。此前针对三星浏览器的相关解决方案对iOS版Edge无效:
- 添加meta标签声明网页支持双主题:
<meta name="color-scheme" content="light dark">
理论上浏览器匹配主题偏好后不应强制覆盖颜色,但iOS版Edge不遵循该规则。
- 使用CSS属性禁止浏览器调整元素颜色:
forced-color-adjust: none;
同样无法生效,推测是iOS版Edge基于Apple WebKit引擎的特殊实现导致。
该问题仅出现在启用深色模式的移动Edge浏览器中,求移动端开发者分享可行的解决办法。
内容的提问来源于stack exchange,提问作者Sulley Bear
相关产品推荐
相关产品推荐

