JavaScript+CSS控制打印格式(示例)

发布时间:2020-10-26编辑:脚本学堂
介绍下javascript与css结合控制打印格式的方法,分享几个例子,学习下用media="print"的css来控制要打印文件格式的方法。

1,用media="print"的css来控制要打印的文件testPrint.html中引用media为print的样式,表示打印时该样式才起作用
 

复制代码 代码示例:
<link href="/style/print.css" rel="stylesheet" type="text/css" media="print">

/style/print.css文件
 

复制代码 代码示例:
.noprint{display:none;}

在testPrint.html中使用print.css中的样式,在网页浏览的时候是看不出效果的,但是打印的时候会起作用,如下面这一段,加上noprint之后,在浏览器中仍然是现实的,但是打印时不显示:
 

复制代码 代码示例:
<div class="noprint">
<input type="button" onclick="window.print();" value="打印本页" />
</div>

当然print.css里面的样式你可以随便写,改颜色啊(彩色的图像在黑白打印机下效果不好,可以用另一种样式打印),字体什么的都可以。

2,用javascript来控制
有时候JavaScript也是不错的选择
 

复制代码 代码示例:

<script type="text/javascript">
<!--
//自动在打印之前执行
window.onbeforeprint = function(){
$("#test").hide();
}

//自动在打印之后执行
window.onafterprint = function(){
$("#test").show();
}
//-->
</script>

<div id="test">这段文字不会被打印出来</div>

打印之前,会调用window.onbeforeprint函数,给html重新构造一遍,然后打印。
当然打印之后一般还要换回来,就是window.onafterprint函数了。

小技巧:window.print(),其实也可以打印框架的,例如:window.top.centerFrame.MainFrame.print();