不知道出于什么考虑,几乎所有的浏览器都默认设置了不打印背景色和背景图片。
而想打印出背景是无法通过页面代码来做到,必须设置浏览器的打印属性,这就大大降低了可靠性,因为有一定数量的用户根本就不知道还要设置一下才能打印出背景。
项目中一个页面必须满足打印的需求,由于所有小图片都整合到一起了,所以不是很想再拆出来。如果将大图position:absolute再套一个标签来显示某个区域来处理的话,就非常不合理,增加了额外的代码或脚本,而且没有加载样式时大图也破坏了整个页面结构,非常不好。
还是回归到了最原始的方法,拆成数个小图。
只是将必须打印的图片拆出来,可有可无的图片就不考虑了。
另外,禁止打印背景时,浏览器增加了一项不错的功能:将浅色文字加深,IE中如果文字颜色浅于#6E6863就会当成#6E6863来打印,如果深于#6E6863就不会变动,当用户选择了打印背景属性时,该功能就不再起作用;其他浏览器中也有类似的处理。
这个功能非常有用,不需要我们额外的去处理背景打印不了时“浅色文字深色背景”的情况了。
[不然的话,我们需要处理一下深色背景浅色文字的样式。因为深色背景色打印不出来的话,需要将浅色文字的颜色设置为深色,这样才不影响用户阅览。但这样的话,如果用户选择了“打印背景”属性怎么办呢?不就又看不到文字了?还要再把深色背景删掉,这样处理起来不是很好。]