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 相关文章推荐
Javascript拓展String方法小结
Jul 08 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
Jun 22 Javascript
Javascript中3种实现继承的方法和代码实例
Aug 12 Javascript
jquery简单实现外部链接用新窗口打开的方法
May 30 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
Nov 09 Javascript
Jquery根据浏览器窗口改变调整大小的方法
Feb 07 Javascript
canvas实现十二星座星空图
Feb 14 Javascript
JavaScript实现区块链
Mar 14 Javascript
react 父子组件之间通讯props
Sep 08 Javascript
vue点击页面空白处实现保存功能
Nov 06 Javascript
react 原生实现头像滚动播放的示例
Apr 21 Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
Dec 09 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判断文件是否被引入的方法get_included_files用法示例
2016/11/29 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
写入cookie的JavaScript代码库 cookieLibrary.js
2009/10/24 Javascript
修改好的jquery滚动字幕效果实现代码
2011/06/22 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
Extjs表单常见验证小结
2014/03/07 Javascript
JQuery 在线引用及测试引用是否成功
2014/06/24 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
使用jQuery.wechat构建微信WEB应用
2014/10/09 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
javascript中checkbox使用方法实例演示
2015/11/19 Javascript
理解Angular数据双向绑定
2016/01/10 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
jQuery实现字体颜色渐变效果的方法
2017/03/29 jQuery
B/S(Web)实时通讯解决方案分享
2017/04/06 Javascript
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
JavaScript面向对象精要(上部)
2017/09/12 Javascript
layui 表格的属性的显示转换方法
2018/08/14 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
python利用elaphe制作二维条形码实现代码
2012/05/25 Python
Python中二维列表如何获取子区域元素的组成
2017/01/19 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
大一军训感言
2014/01/09 职场文书
产品质量承诺书
2014/03/27 职场文书
2014年学校德育工作总结
2014/12/05 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
高中同学会致辞
2015/08/01 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
Java内存模型之happens-before概念详解
2021/06/13 Java/Android
POST提交数据常见的四种方式
2022/01/18 HTML / CSS