2010-07-25 73 views
2

我有一些代码可以为一个网页上的多个客户生成账单。我使用div元素style="page-break-after:always",因此用户可以一次打印每个客户帐单,而独特客户的帐单将全部打印在另一张纸上。我的问题是,我想通过在一张账单和下一张账单之间留出一些空间,让账单在用户屏幕上更具可读性,但我不想打印一堆空白。如何在打印机忽略的账单之间引入一些额外的空间?用HTML生成一个打印机将忽略的空间

回答

5

您只能为打印机实现特殊的样式表,并且该样式会忽略某些元素。像这样的东西会工作:

<link rel="stylesheet" type="text/css" media="print" href="/css/print.css"> 

那么你的print.css文件中,你可以有一切你原来的CSS和定义是这样的:

.printhide{ display:none; } 

在您的HTML文件,所有的元素,你想要隐藏只需添加printhide类。例如。

<br class="printhide"> 
+0

工程就像一个魅力,非常感谢! – ubiquibacon 2010-07-25 06:28:05

+0

很高兴能有所帮助:) – Sam152 2010-07-25 10:00:34

2

使用print css。这将是一个具有打印特定规则的css文件,可以使用其他所有css文件加载,但具有media="print"属性可告知浏览器打印它。

<link rel="stylesheet" type="text/css" media="print" href="print.css" /> 
+0

谢谢,但@ Sam152击败你:) – ubiquibacon 2010-07-25 06:28:37

+0

@typoknig - 这不是竞争:) – Oded 2010-07-25 06:35:16

+0

很多人在这里似乎认为这是。随着你的非常大的数字,你显然超出了这种愚蠢:) – ubiquibacon 2010-07-25 06:49:50

2

插入div汇票后:

<div class="bill"> 
...your bill goes here... 
<div class="spacer"></div> 
</div> 

添加打印样式表:

<link rel="stylesheet" href="screen.css"/> 
<link rel="stylesheet" href="print.css" media="print"/> 

定义空间screen.css:

div.spacer {margin-bottom:2em;} 

隐藏print.css中的空格:

div.spacer {display:none;} 
+0

感谢您的帮助! – ubiquibacon 2010-07-25 06:29:05