好的规则来设置打印的CSS?

我正在寻找任何build议/规则/指导如何做一个像样的打印CSS网页打印。 你有提供吗?

以下是一些通用打印样式,用于获得更好的打印输出:

/* Print styles */ @media print { tr, td, th {page-break-inside:avoid} thead {display:table-header-group} .NoPrint {visibility:hidden; display:none} a {color:#000000} } 

顶部的一个可以防止表格行内的分页符

thead样式使得对于表跨越的每个页面,重复标签中的任何行。

NoPrint是我用来在屏幕上显示某些内容的类,但不是用于打印。

而且,我喜欢closures链接的颜色。

首先阅读A List Apart的这篇文章( http://www.alistapart.com/articles/goingtoprint/ )。 他们涵盖了你正在寻找的许多基础知识(扩展链接,粉饰等)。

不要依赖打印预览,确保在testing打印版面时经历整个过程。 为了节省纸张安装SnagIt或使用Microsoft XPS文档编写器。 您可以直接打印图像而不浪费任何纸张。

对于长篇文章,请考虑将您的字体更改为serif。 在网上的文章是最简单的阅读无衬线(宋体,Verdana),但在印刷尝试时报新罗马或格鲁吉亚。

有一件事我确定要放在我的打印样式表中:

 a[href^="http://"]:after{ content: " (" attr(href) ") "; } 

这将链接文本旁边的实际链接写入,以便打印文档的人员知道该链接是否应该去。

我也设置我的正文文本是一个更可读的打印:

 body{ font: 0.9em/1.5em Georgia, "Times New Roman", Times, serif; } 

你有这个旧的,但仍然相关的文章从埃里克迈耶列表分开。

重点是重新开始,明确地设置边界和marging /填充为0,白色背景,并且“不显示任何”用于打印的任何非基本元素(如某些菜单)

 <link rel="stylesheet" type="text/css" media="print" href="print.css" /> body { background: white; } #menu { display: none; } #wrapper, #content { width: auto; margin: 0 5%; padding: 0; border: 0; float: none !important; color: black; background: transparent; } 

然后从那里出发

当你定义打印的风格时,你必须在纸上和物理单位上思考。

  • 以厘米(英寸)为单位设置页边距,并以点为单位设置字体大小(就像在OpenOffice中一样)。
  • 创build一个像“屏幕”或“noprint”类,以便能够轻松地删除不需要的材料。
  • 忘记花哨的彩色文字。 在白色背景上的黑色文本。
  • 考虑消除多余的图像 – 他们可能不会看起来很好,在黑色和白色
  • 删除链接下划线,并使链接具有理智的文字。 阅读“检查此页”看起来很愚蠢,其中“this”加下划线。 或者,如果你把下划线文本后的链接的HREF,那么它可以更有用,但看起来不那么好恕我直言。

注意背景图像和颜色。 我认为IE的默认行为是不打印背景图像或颜色。