安卓 6 的 WebView 打开站点,暗色下背景仍是白色,文字变成浅灰几乎看不见,同一页面在新机型正常。日志里能对上时间点,这种反而好排。
CSS 自定义属性在旧内核里不被解析,所有 var 声明整条失效,回退到初始值。构建时没有给关键颜色留静态兜底。这一点先确认清楚,后面就不用反复试。
body { background: #ffffff; background: var(--bg); }
body { color: #222222; color: var(--text); }
「CSS 变量兼容」排查到最后往往是很小的一处差异,前面那些复杂猜测可以先放一放。偶发问题先统计频率,一小时几次和一天一次,查法完全不同。
改完顺手把文档补一句,省得下次自己重新推一遍。监控和日志的时间要对上,时区不一致会多绕很大一圈。
临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。
处理上按这个顺序:关键属性先写一条固定色 再用 var 覆盖;确认目标机型内核版本 决定是否放弃变量方案;在旧机型或对应内核模拟器里实测一次。
结果对不对很好判断,旧 WebView 上背景和文字回退到浅色方案,内容仍可读。
