CSS背景不打印通常效果很好,但有时我用它们来传达上下文信息.什么是解决不打印但你真的想要显示的CSS背景的最佳方法.我正在研究的示例是一个显示财务信息的表.不同的背景颜色用于表示数字的"好"程度(例如非常有利可图,有利可图,中性,负面,非常负面).
当我真的需要背景颜色时,我已经使用边框来模拟背景.这样的东西会起作用(但我为没有测试过这个而道歉):
div.must-have-background-for-print { position: relative; width: 400px; } div.must-have-background-for-print div.background { position: absolute; top: 0; left: 0; height: 100%; border-left: 400px solid #999; }
在回应@Steve Quezadas的评论时,我们的想法是,不是使用背景,而是将元素插入到需要背景的元素中,并对其应用极宽的边框,以便填充外部元素.这很可能要求该元素的内容也在另一个包装器内,以便它们出现在新的背景元素之上......
如果你从这开始:
Some stuff in here
你可能会用这个:
Some stuff in here
这非常难看,但我过去曾经使用它,它确实解决了背景颜色不能打印的问题.并且,在您提出要求之前,您必须根据具体情况调整css.我只是简单地描述了使用边框来替换背景的概念.您的实现将取决于页面的结构,如果您的元素没有固定的宽度或高度,这将非常困难.