引入jquery.print.js 和jq
https://github.com/DoersGuild/jQuery.print
$.print("#myElementId");//直接打印 $("#myElementId").print({ // 打印预览 globalStyles:true,//是否包含父文档的样式,默认为true mediaPrint:false,//是否包含media='print'的链接标签。会被globalStyles选项覆盖,默认为false stylesheet:null,//外部样式表的URL地址,默认为null noPrintSelector:".no-print",//不想打印的元素的jQuery选择器,默认为".no-print" iframe:true,//是否使用一个iframe来替代打印表单的弹出窗口,true为在本页面进行打印,false就是说新开一个页面打印,默认为true,相当于预览,一般来说用这个就足够了 append:null,//将内容添加到打印内容的后面 prepend:null,//将内容添加到打印内容的前面,可以用来作为要打印内容 deferred: $.Deferred()//回调函数 });
问题
将需要打印的元素去掉滚动条,不然隐藏的元素不会打印。或者更改打印机的纸张大小
谷歌更多设置选中背景图像;ie>打印>页面设置>打印背景颜色和图像。否则打印出来的样式不全,图片没有
如果使用字体图标之类的,多选框的对勾。未选中的颜色要设为transparent,不能是其他颜色,打印是如果不设置打印背景,设置黑白色,会将白色对勾打印成灰色
如果打印使用栅格布局的元素,要设置不同屏幕下的占比,打印机会根据纸张大小来打印对应的元素;呃 意思就是 如果栅格布局只设置的1920以上的 打印机使用A4纸 元素就会掉下来
ie8打印预览
点赞
收藏