如何编写 XHTML 和 CSS 打印友好的页面?如何使用打印样式表节省打印机墨水?

3

我不仅仅是在谈论制作打印样式表或者media=print

问题:

  • 除了在打印样式表中使用display:none之外,我们在XHTML、屏幕样式表和打印样式表中还应该注意哪些内容,以便从网页上获得良好的打印效果?
  • 对于图片、CSS中的背景图片、Flash、Silverlight和iframe,我们需要特别注意什么?
  • 如何通过打印样式表节省打印机墨水?
5个回答

1

0

以下技巧实际上使用了更多的墨水,但与制作页面的打印版本相关。

假设有一个页面,其中超链接实际上对内容非常重要--比如说,它是一个有关主题xyz的有用网站列表。不确定为什么有人要打印这个,但如果他们这样做了,一堆带下划线的句子并没有什么帮助。

您实际上可以使用CSS来打印URL

为了记录,代码如下:

a:link:after, a:visited:after { content:" [" attr(href) "] "; }

我建议只针对选定的链接使用类来执行此操作,例如:

a.printable:link:after, a.printable:visited:after { content:" [" attr(href) "] "; }

我一直喜欢使用尖括号来实现这个目的,所以我可能会重写它。

a.printable:link:after, a.printable:visited:after { content:" <" attr(href) "> "; }

记住,在 CSS 的 "content:" 值中不允许使用实体。基本上,您只需输入所需的原始文本即可。

此外,对于打印,您应该使用 pt 而不是 pxem 进行大小调整。您可以将大小缩小到屏幕等效大小以下。默认大小通常设置为 12 点,但您可以轻松将其设置为 11 点,并仍然保持足够的可读性。这将在长期内节省相当多的墨水(和纸张!)。

除了内容图形(也就是指构成页面有意义内容的图形,而不是用于布局、美化或装饰的图形)可能会出现在页面上之外,几乎没有非文本内容应该出现在页面上。边框和背景应该被消除,除非在极少数情况下使用(例如需要引起对某个文本部分的注意时,虽然仅仅将其设置为粗体可能同样有效,并且可以节省墨水)。如果您正在使用 CSS 制作漂亮的 <hr>,则在打印时完全摆脱样式并只使用内置样式,或者用纯黑色或灰色线替换所有的 <hr>(并且再次使用 pt,如 2pt,而不是 px,来改变高度)。

我想不出有多少情况下您会在 iframe 中拥有要打印的内容。如果是这种情况,制作一个可打印版本的页面,将内容从 iframe 中取出并直接放入文档中,这样对于打印来说会更好。


0

背景图像不会被打印。虽然有可能,但你的浏览器默认设置是不打印背景图像。

我确保图像的分辨率为150dpi。这样它们就不会太大,适合屏幕和纸张。GIF格式不会在文件中存储dpi信息,但可以使用CSS设置其适当的大小。

更小的字体需要更少的墨水。


0

从XHTML的角度来看,除了确保代码有效和语义化之外,没有太多要做的。

现在谈谈打印样式表。您可以考虑到有些人可能会以黑白方式打印您的页面,或者他们可能只有很少的彩色墨水(因此颜色会变淡)。因此,如果您有任何浅色、柔和色调或文本与背景之间对比度不高的地方,请确保在打印样式中增加对比度。 尝试以黑白方式打印页面,看看效果如何。

我不确定像Flash和Silverlight这样的插件如何打印,但您可以在打印样式表中为它们添加背景图像,这样即使它们不被打印,您也可以获得Flash的快照而不是一个白洞。

对于图像,我建议采用Ton van Lankveld的建议。将它们设置为150dpi,并确保它们在CMYK上看起来很好(您可以在Photoshop中通过转到“视图>证明颜色”来完成此操作)。

还要检查字体。有些可能需要缩小,有些可能需要放大。如果您有大量文本,您可能需要考虑使用更多“基于打印”的字体,例如Helvetica或Times New Roman(特别是如果您正在使用基于屏幕的字体,例如Verdana)。

最后为了节省墨水,我会删除一切不必要的元素(是的,display:none)。同样出于这个原因,我会避免在print.css中使用背景图片。我会将所有超链接设置为黑色(或文本颜色),不加下划线,因为它们在打印页面上没有必要存在。 你还可以通过使用#111或#222代替#000来节省一些墨水(但可能影响可读性)。

0

虽然我承认这可能不是你收到的最实用的答案,但你可以考虑ecofont,这是一种专门设计用于节省打印机墨水的字体。

请见评论。


Ecofont只是无稽之谈:http://www.sitepoint.com/blogs/2009/01/31/cut-costs-by-saving-ink-with-ecofont/#comment-870994 - Gumbo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接