文章里一张 1600px 宽的截图,打印预览右侧三分之一直接消失,A4 纸横向也放不下。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

@media print {
  img { max-width: 100% !important; height: auto; }
  figure { page-break-inside: avoid; }
}

图片宽度写死成像素,打印页面宽度只有 180mm 左右,超出部分被裁掉而不是缩放。max-width 规则放在屏幕媒体里,打印时没有生效。这一点先确认清楚,后面就不用反复试。

「打印图片超宽」这类改动最怕改一半,回滚脚本先准备好,再动生产。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。

动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。

先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。

具体做法是,打印样式里给 img 设 max-width: 100% 和 height: auto;容器加 overflow: hidden 只作兜底 不要靠它遮问题;用 A4 纵向预览逐张翻 确认没有横向裁切。

改完照着核一遍,所有配图完整落在页面内,右侧不再被裁。

作者 9823189