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异步请求实例代码
Jun 21 Javascript
js时间日期格式化封装函数
Dec 02 Javascript
javascript常见数据验证插件大全
Aug 03 Javascript
详解 javascript中offsetleft属性的用法
Nov 11 Javascript
常见的javascript跨域通信方法
Dec 31 Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
Mar 29 Javascript
js 函数式编程学习笔记
Mar 25 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
Aug 25 Javascript
vue使用iframe嵌入网页的示例代码
Jun 09 Javascript
vue中轮训器的使用
Jan 27 Javascript
Vue解析剪切板图片并实现发送功能
Feb 04 Javascript
使用webpack搭建pixi.js开发环境
Feb 12 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函数篇之掌握ord()与chr()函数应用
2011/12/05 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
php使用百度天气接口示例
2014/04/22 PHP
使用jQuery避免鼠标双击的解决方案
2013/08/21 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
2015/03/26 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
2016/12/19 Javascript
Node.js Express 框架 POST方法详解
2017/01/23 Javascript
详解tween.js的使用教程
2017/09/14 Javascript
vue-awesome-swiper滑块插件使用方法详解
2017/11/27 Javascript
JavaScript寄生组合式继承实例详解
2018/01/06 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
微信小程序下拉框功能的实例代码
2018/11/06 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
2019/01/20 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
Vue列表循环从指定下标开始的多种解决方案
2020/04/08 Javascript
jQuery+ThinkPHP实现图片上传
2020/07/23 jQuery
详解如何在vue+element-ui的项目中封装dialog组件
2020/12/11 Vue.js
python基础教程之类class定义使用方法
2014/02/20 Python
Python最长公共子串算法实例
2015/03/07 Python
Python BS4库的安装与使用详解
2018/08/08 Python
使用python对excle和json互相转换的示例
2018/10/23 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
django框架forms组件用法实例详解
2019/12/10 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
2020/02/12 Python
在TensorFlow中实现矩阵维度扩展
2020/05/22 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
2012/12/13 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
最好的商品表达自己:Cafepress
2019/09/04 全球购物
学校读书活动总结
2014/06/30 职场文书
中秋节活动总结
2014/08/29 职场文书
python开发实时可视化仪表盘的示例
2021/05/07 Python