Bootstrap 3.x打印预览背景色与文字显示异常的解决


Posted in Javascript onNovember 06, 2016

我首先测试了一段如下的代码,发现打印预览时的确无法显示背景色。

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>Regonline</title>
 <link href="css/bootstrap.css" rel="stylesheet" />
 <link href="css/font-awesome.min.css" rel="stylesheet" />
</head>

<body>

 <style>

  .main{

   overflow: hidden;
   padding: 40px;
  }

  .one, .two, .three{

   float: left;

   height: 40px;
  }

  .one{

   width: 40%;
   background-color: red;
  }

  .two{

   width: 30%;
   background-color: green;
  }

  .three{

   width: 30%;
   background-color: pink;
  }


 </style>
  
  <div class="main">
   <div class="one"></div>
   <div class="two"></div>
   <div class="three"></div>
  </div>
</body>

</html>

比较奇怪的是,如果我删除bootstrap的样式引用,就可以正常打印预览了。想来必定是bootstrap3 设置了@media print相关属性导致。

果然,翻开源码,发现如下代码:

@media print {
 * {
 color: #000 !important;
 text-shadow: none !important;
 background: transparent !important;
 box-shadow: none !important;
 }
 a,
 a:visited {
 text-decoration: underline;
 }
 a[href]:after {
 content: " (" attr(href) ")";
 }
 abbr[title]:after {
 content: " (" attr(title) ")";
 }
 a[href^="javascript:"]:after,
 a[href^="#"]:after {
 content: "";
 }
 pre,
 blockquote {
 border: 1px solid #999;

 page-break-inside: avoid;
 }
 thead {
 display: table-header-group;
 }
 tr,
 img {
 page-break-inside: avoid;
 }
 img {
 max-width: 100% !important;
 }
 p,
 h2,
 h3 {
 orphans: 3;
 widows: 3;
 }
 h2,
 h3 {
 page-break-after: avoid;
 }
 select {
 background: #fff !important;
 }
 .navbar {
 display: none;
 }
 .table td,
 .table th {
 background-color: #fff !important;
 }
 .btn > .caret,
 .dropup > .btn > .caret {
 border-top-color: #000 !important;
 }
 .label {
 border: 1px solid #000;
 }
 .table {
 border-collapse: collapse !important;
 }
 .table-bordered th,
 .table-bordered td {
 border: 1px solid #ddd !important;
 }
}

 注意代码里面的 color:#000 !important; 以及 background-color:transparent !important;  。它表示打印时,页面中的文字都为黑色,并且背景色都设置为透明。因为有了这样的样式,我们的背景色就打印

不出来了。去掉这两段代码,一切OK!

值得一提的说:如果页面中有超链接,打印时会显示超链接的地址,这样比较难看。我们删除对应的样式即可。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
jquery.validate使用攻略 第二部
Jul 01 Javascript
onbeforeunload与onunload事件异同点总结
Jun 24 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
Mar 03 Javascript
js精美的幻灯片画集特效代码分享
Aug 29 Javascript
JavaScript中将数组进行合并的基本方法讲解
Mar 07 Javascript
js 弹出虚拟键盘修改密码的简单实例
Oct 10 Javascript
关于AngularJs数据的本地存储详解
Jan 20 Javascript
vue脚手架中配置Sass的方法
Jan 04 Javascript
vuex的使用及持久化state的方式详解
Jan 23 Javascript
Javascript中parseInt的正确使用方式
Oct 17 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
Nov 10 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
Nov 06 Javascript
d3.js实现简单的网络拓扑图实例代码
Nov 06 #Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
Nov 16 #Javascript
JS控制div跳转到指定的位置的几种解决方案总结
Nov 05 #Javascript
xcode中获取js文件的路径方法(推荐)
Nov 05 #Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
Nov 05 #Javascript
jquery.Jcrop结合JAVA后台实现图片裁剪上传实例
Nov 05 #Javascript
JavaScript中绑定事件的三种方式及去除绑定
Nov 05 #Javascript
You might like
php下过滤HTML代码的函数
2007/12/10 PHP
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
php使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
Linux下PHP连接Oracle数据库
2014/08/20 PHP
浅谈使用PHP开发微信支付的流程
2015/10/04 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
10个基于Jquery的幻灯片插件教程
2010/10/29 Javascript
Jquery知识点二 jquery下对数组的操作
2011/01/15 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
使用js复制链接中的部分文字的方法
2015/07/30 Javascript
jQuery实现动态添加和删除一个div
2015/08/12 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
详解js中==与===的区别
2017/01/08 Javascript
浅谈$_FILES数组为空的原因
2017/02/16 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
2017/10/26 Javascript
WebPack配置vue多页面的技巧
2018/05/15 Javascript
小程序实现展开/收起的效果示例
2018/09/22 Javascript
vue使用echarts图表的详细方法
2018/10/22 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
ubuntu 16.04下python版本切换的方法
2019/06/14 Python
django重新生成数据库中的某张表方法
2019/08/28 Python
python3中rank函数的用法
2019/11/27 Python
Python 实现将数组/矩阵转换成Image类
2020/01/09 Python
英国男女奢华内衣和泳装购物网站:Figleaves
2017/01/28 全球购物
what is the difference between ext2 and ext3
2015/08/25 面试题
《记承天寺夜游》教学反思
2014/02/16 职场文书
师范毕业生求职信
2014/07/11 职场文书
效能风暴心得体会
2014/09/04 职场文书
单位一把手群众路线四风问题整改措施
2014/09/25 职场文书
材料员岗位职责
2015/02/10 职场文书
迎国庆主题班会
2015/08/17 职场文书
python如何利用traceback获取详细的异常信息
2021/06/05 Python