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

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

<!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!

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

总结

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索bootstrap
, 打印
, 打印功能
bootstrap3.x
bootstrap javascript、bootstrap 图片预览、bootstrap 预览大图、bootstrap 文件预览、bootstrap相册预览,以便于您获取更多的相关知识。

时间: 2024-11-01 21:48:49

Bootstrap 3.x打印预览背景色与文字显示异常的解决_javascript技巧的相关文章

JS上传图片预览插件制作(兼容到IE6)_javascript技巧

一.实现图片预览的一些方法. 了解了一下,其实方法都是大同小异的.大概有以下几种方式: ①订阅input[type=file]元素的onchange事件. 一旦选择的路径被改变就把图片上传至服务器,然后就返回图片在服务器端的地址,并且赋值到img元素上. 缺点:工作量大,有些上传并不是用户最终需要上传的图片,但是这种方式会把上传过程中选择过的图片都保存至服务器端,会造成资源浪费,而且服务器端清理临时的那些预览图片也需要一定的工作量. ②利用HTML5的新特性FileReader. 这个对象提供了

本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结_javascript技巧

最近在Web项目开发过程中遇到的本地图片预览的需求,虽然最后因为其他原因没能使用,但是也算有些了解,整理出来. 这里我们按浏览器分,主要包括IE6,IE7/8 和Firefox3, 不包含Opera,Safari和Chrome,这三个基本上需求很小,没有研究. 总结一下就是: IE6下可以直接从file的value获取图片路径来显示预览. IE7和IE8下通过select获取file的图片路径,再用滤镜来显示预览. FireFox下调用file的getAsDataURL方法获取Data URI数

Bootstrap导航条可点击和鼠标悬停显示下拉菜单_javascript技巧

使用Bootstrap导航条组件时,如果你的导航条带有下拉菜单,那么这个带下拉菜单的导航在点击时只会浮出下拉菜单,它本身的href属性会失效,也就是失去了超链接功能,这并不是我想要的,我希望导航条的链接可以正常打开它的链接,但又需要下拉菜单功能,开始折腾~ 首先解决带下拉菜单的导航条可以点击问题,下拉菜单效果是JS实现的,分析bootstrap.js文件发现,Bootstrap把下拉菜单写成了一个JQuery插件,在dropdown代码段中找到了关键的几句: // APPLY TO STANDA

水晶报表的打印预览

问题描述 水晶报表的打印预览是所见即所得吗??如果程序运行后,我更改页面纸张设置,打印预览即报表的显示会相应变化吗? 解决方案 解决方案二:记不太清了,好像内容的位置.文字大小等信息不会变,你可以试一试.

基于BootStrap Metronic开发框架经验小结【九】实现Web页面内容的打印预览和保存操作_javascript技巧

本篇文章主要介绍如何实现Web页面内容的打印预览和保存操作的相关知识,一起学习吧! 1.Web页面打印的问题 在此之前,我一般使用比较好用的LODOP来执行打印的操作,这个在我之前有很多文章都有涉及,这个控件是一个ActiveX的控件,需要下载安装后就可以在页面是进行打印的排版设计,预览,打印等操作,还是很方便的一个控件,因此都很适合普通内容的打印,证件的套打等操作. 不过随着浏览器技术的更新,这个插件在Chrome或者FireFox上好像不受支持了,基本上摒弃了这种插件的处理方式了.例如如果我

基于Metronic的Bootstrap开发框架经验总结(9)--实现Web页面内容的打印预览和保存操作

在前面介绍了很多篇相关的<Bootstrap开发框架>的系列文章,这些内容基本上覆盖到了我这个Bootstrap框架的各个主要方面的内容,总体来说基本达到了一个稳定的状态,随着时间的推移可以会引入一些更好更新的内容进行完善,本篇继续这个系列,主要介绍如何实现Web页面内容的打印预览和保存操作. 1.Web页面打印的问题 在此之前,我一般使用比较好用的LODOP来执行打印的操作,这个在我之前有很多文章都有涉及,这个控件是一个ActiveX的控件,需要下载安装后就可以在页面是进行打印的排版设计,预

excle2013如何在打印预览中调整表格的大小

  excle2013在打印预览中调整表格的大小的教程: 打印预览中调大小步骤1:打开excel文件,先找到要调整大小的表格. 打印预览中调大小步骤2:表格-打印-打印预览. 打印预览中调大小步骤3:出现打印预览对话框,发现表格内容位置不正,怎么调节到中间位置呢? 打印预览中调大小步骤4:目前默认的纵向位置,可调节横向. 打印预览中调大小步骤5:点击页边距,调整位置,向中间位置拉.

NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现(二)

打印|对话框|页面 前篇说了.NET环境下有关打印页面设置.打印机设置.打印预览对话框的实现,现在到了我们应用它们的时候了. 我们需要做下面的一些事情: 1.将上篇中写的程序输出类型改为类库并编译成PrinterPageSetting.dll; 2.建立C#或VB.net项目,并在项目的引用处添加引用,在弹出的对话框的.NET标签中浏览并选择PrinterPageSetting.dll: 3.在默认窗口Form1上增加一个TextBox文本框控件,默认名TextBox1(实际项目中建议采用命名及

Excel打印预览时反应慢的问题

症状:Excel用打印预览时反应很慢. 原因:默认打印机驱动或连接问题. 解决方法:把默认打印机改为别的打印机,或重装打印机驱动,或将打印机经打印服务器改为直连. 查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Office/excel/