web打印总结

已知问题

  1. 网上几乎所有关于打印的都是老旧的IE下的打印,调用ActiveX,原生态的浏览器没有办法控制打印各种选项,在IE FF Chrome以及更多浏览器下,通用的只有window.print
  2. 打印样式都是用 @media print{}指定, 其实一共就三类 : all print screen,其中all 是对打印和屏幕显示都起作用,screen是针对屏幕显示. print针对打印.各个浏览器几乎都没有针对web打印调试的控件.这让纯web打印变成一件非常挠头的事情,只能依靠经验一点点修改.
  3. page-break-after:always  这个是控制分页,但是IE ff下没问题,到了Chroem下有非常奇特的表现 : 虽然说是在元素之后分页,IE和FF如果后面没有其他打印内容了,那么打印就结束了,而Chorme则不然,他在后面还有空白页.
  4. 可能会有顽固的元素在print样式里面无法改动,试试!important, 强置该条样式.
  5. 尽量不要用display:block ,而是用 display:table
  6. 虽说都有选项 打印背景颜色和图片 但是实际上,css中背景图片和颜色基本很难被打印出来,所以尽量使用img标签来显示图片,我为了显示一个echarts图表的背景,专门在他下面放置了一个div,里面用img标签放图片.(这个问题被同事辛苦的找出来了,是因为bootstrap里面恶心的干掉了所有打印的背景,修改bootstrap的css就解决了!!!)
原文地址:https://www.cnblogs.com/nigou/p/4800460.html