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 解析url的search方法
Feb 09 Javascript
超酷的网页音乐播放器DewPlayer使用方法
Dec 18 Javascript
js动态添加onload、onresize、onscroll事件(另类方法)
Dec 26 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
Sep 22 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
Dec 04 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
Jun 20 Javascript
jquery——九宫格大转盘抽奖实例
Jan 16 Javascript
JS实现简单抖动效果
Jun 01 Javascript
vue项目出现页面空白的解决方案
Oct 31 Javascript
深入理解Antd-Select组件的用法
Feb 25 Javascript
vue3.0中setup使用(两种用法)
Dec 02 Vue.js
JS+CSS实现动态时钟
Feb 19 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 xml留言板 xml存储数据的简单例子
2009/08/24 PHP
yii添删改查实例
2015/11/16 PHP
js innerHTML 的一些问题的解决方法
2008/06/22 Javascript
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
jQuery操作cookie方法实例教程
2014/11/25 Javascript
Validform+layer实现漂亮的表单验证特效
2016/01/17 Javascript
深入浅析AngularJS和DataModel
2016/02/16 Javascript
jQuery实现摸拟alert提示框
2016/05/22 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐)
2016/06/23 Javascript
微信小程序搜索组件wxSearch实例详解
2017/06/08 Javascript
vue+mockjs模拟数据实现前后端分离开发的实例代码
2017/08/08 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
2017/08/09 jQuery
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
javascript实现切割轮播效果
2019/11/28 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
2020/07/26 Javascript
OpenLayers3实现图层控件功能
2020/09/25 Javascript
微信小程序抽奖组件的使用步骤
2021/01/11 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
[01:11:46]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第一场 2月23日
2021/03/11 DOTA
Python splitlines使用技巧
2008/09/06 Python
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
Flask框架web开发之零基础入门
2018/12/10 Python
python实现银行实战系统
2020/02/26 Python
python collections模块的使用
2020/10/16 Python
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
Ralph Lauren英国官方网站:Ralph Lauren UK
2018/04/03 全球购物
员工评语大全
2014/01/19 职场文书
绩效考核实施方案
2014/03/18 职场文书
教师工作决心书
2015/02/04 职场文书
少先队大队委竞选口号
2015/12/25 职场文书
python绘制箱型图
2021/04/27 Python
使用Nginx搭载rtmp直播服务器的方法
2021/10/16 Servers