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 相关文章推荐
极酷的javascirpt,让你随意编辑任何网页
Feb 25 Javascript
弹出广告特效(一个IP只弹出一次)的代码
Jul 27 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
Dec 14 Javascript
JavaScript实现梯形乘法表的方法
Apr 25 Javascript
JS实现n秒后自动跳转的两种方法
Nov 30 Javascript
用iframe实现不刷新整个页面上传图片的实例
Nov 18 Javascript
jQuery实现可拖动进度条实例代码
Jun 21 jQuery
微信小程序动态添加view组件的实例代码
May 23 Javascript
微信小程序JS加载esmap地图的实例详解
Sep 04 Javascript
Vue实例的对象参数options的几个常用选项详解
Nov 08 Javascript
JavaScript实现移动端弹窗后禁止滚动
May 25 Javascript
浅谈克隆 JavaScript
Nov 02 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入门学习知识点三 PHP上传
2011/07/14 PHP
php实现图片添加水印功能
2014/02/13 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
2014/05/15 PHP
php中socket的用法详解
2014/10/24 PHP
PHP生成树的方法
2015/07/28 PHP
点图片上一页下一页翻页效果
2008/07/09 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
jquery常用方法及使用示例汇总
2014/11/08 Javascript
基于jQuery实现拖拽图标到回收站并删除功能
2015/11/25 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
JavaScript 跨域之POST实现方法
2018/05/07 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
2019/07/10 Javascript
JS实现手写 forEach算法示例
2020/04/29 Javascript
Vuex的热更替如何实现
2020/06/05 Javascript
js实现弹窗效果
2020/08/09 Javascript
Python 可爱的大小写
2008/09/06 Python
python实现kMeans算法
2017/12/21 Python
使用pandas读取csv文件的指定列方法
2018/04/21 Python
pycharm在调试python时执行其他语句的方法
2018/11/29 Python
python+selenium 鼠标事件操作方法
2019/08/24 Python
基于python实现地址和经纬度转换
2020/05/19 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
一款纯css3实现的动画加载导航
2014/10/08 HTML / CSS
读书之星事迹材料
2014/05/12 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
2014年党的群众路线学习心得体会
2014/11/05 职场文书
2014年初一班主任工作总结
2014/11/08 职场文书
信用卡催款律师函
2015/05/27 职场文书
催款函范文
2015/06/24 职场文书
婚庆答谢词大全
2015/09/29 职场文书
Python 制作自动化翻译工具
2021/04/25 Python
JavaScript严格模式不支持八进制的问题讲解
2021/11/07 Javascript
图文详解nginx日志切割的实现
2022/01/18 Servers