开着暗色点打印,预览整页黑底白字,一页要耗掉平时三倍的墨,前台说这样没法存档。乍看像缓存或者权限的锅,追下去往往不是。
@media print {
:root, [data-theme='dark'] {
--bg: #fff; --text: #000; --line: #ccc;
}
}
追下去是这么回事:打印样式继承了当前主题的变量,暗色变量在 print 媒体下照样生效。没有为打印单独固定一套浅色值。
碰到「暗色模式打印」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。
线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。
权限不要一口气开到最大,先加到够用再往上试,范围小才好收。
具体做法是,在 @media print 里把颜色变量重置成浅色;隐藏主题切换按钮和所有装饰性背景;开着暗色打一份 确认纸面是白底黑字。
验收就看一点,暗色状态下打印出来的仍是白底黑字,文字清楚。
