站点切到暗色模式,播放器控制条还是纯白,右下角音量图标几乎看不见,原生控件和自定义皮肤混在一起。日志里能对上时间点,这种反而好排。
控件用的是浏览器原生 UI,颜色跟随 color-scheme 而不是页面背景,页面没有声明 color-scheme: dark。自定义皮肤的 CSS 变量也只在亮色下定义过。这一点先确认清楚,后面就不用反复试。
:root { color-scheme: light dark; }
@media (prefers-color-scheme: dark) {
.player { --ctrl-bg: #1b1b1b; --ctrl-fg: #f5f5f5; }
}
围绕「播放器暗色模式」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。偶发问题先统计频率,一小时几次和一天一次,查法完全不同。
改完顺手把文档补一句,省得下次自己重新推一遍。监控和日志的时间要对上,时区不一致会多绕很大一圈。
临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。
处理上按这个顺序:在根元素声明 color-scheme: light dark;自定义控件用 prefers-color-scheme 各写一套变量;播放器容器背景单独指定 不要依赖继承。
结果对不对很好判断,系统切暗色后控制条变深色,图标清晰可见,亮色下保持原样。
