好的规则来设置打印的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的默认行为是不打印背景图像或颜色。