除了页眉和页脚,我有一个对打印机友好的页面。我可以添加一个只打印页面正文而不打印彩色背景的打印按钮吗?还是我需要将它们链接到一个新页面,然后让它们再次单击打印?如果可以避免的话,我宁愿不介绍这些额外的步骤。
我需要一个不同的html页面来打印吗?
没有必要。您可以使用不同的打印CSS,这将专门用于打印。在这个CSS中,你可以个性化页面上不同元素的外观:
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
media="print"
表示只有在打印时才会应用此CSS。
您也可以签出print.css库。
您可能需要了解如何使用打印样式表。
这里有一个链接可以帮助
http://line25.com/tutorials/handy-tips-for-creating-a-print-css-stylesheet
这是我建议的方法,这样你就可以将样式表分开进行屏幕和打印。
我可以添加一个只打印页面正文的打印按钮吗没有彩色背景?
您可以通过以下方式设置打印机指定样式:
@media print {
.print {
background:#fff;
}
}
将print
类应用于要在打印中更改行为的元素。
您可以添加一个新的打印特定样式表,并在该样式表中隐藏用户打印页面时不希望出现的任何元素。
这里有一个关于如何做到这一点的方便链接:
http://meyerweb.com/eric/articles/webrev/200001.html
您可以通过CSS完成这一切,只需将媒体设置为打印即可。
@media print
{
/* Print specific styles go in the braces */
}
只需添加一个打印媒体样式表。
无需添加自己的按钮或创建重复页面。浏览器的打印控件非常好。
最好编写print.css并指定要打印的内容和不需要的内容。
查看链接
- http://printstylesheet.com/
- http://line25.com/tutorials/handy-tips-for-creating-a-print-css-stylesheet
- http://www.onextrapixel.com/2009/05/05/how-to-create-a-simple-print-css-for-your-site/
- http://www.intensivstation.ch/en/css/print/
您所需要做的(正如Darin所指出的)就是为您的打印布局添加一个CSS文件。您需要确保您的CSS文件只被调用以使用正确的media
类型进行打印:
这是我通常使用一些jQuery:的方式
$(function(){
// Hook the print link
$( "a" ).attr( "href", "javascript:void( 0 )" ).click(function(){
// Print the DIV that you want to be printble
// Maybe you want to change the style of that printable div.
$( ".printable" ).print();
// Cancel click event.
return( false );
});
});
这个想法是,你有一个想要打印的div,你挂起打印按钮,对这个div做任何你想做的事情,然后打印它
您可以尝试以下操作:
@media print {
body {
background-color: white
}
div.header,
div.footer {
display: none
}
}