如何编写xhtml和css打印机友好?如何使用打印css保存打印机墨水?

如何编写xhtml和css打印机友好?如何使用打印css保存打印机墨水?,html,css,xhtml,printing,Html,Css,Xhtml,Printing,我说的不仅仅是打印css或media=print 问题: 我说的是我们在XHTMl和屏幕css以及打印css(其他)中应该做的其他事情 而不是打印css中的显示:无 你应该注意从我这里得到好的印刷品 网站页面 我们需要特殊照顾吗 图像,css中的背景图像, 闪光灯、银光灯、iframe 如何在打印时节省打印机墨水 css 关于这个主题,列表中有两篇有用的文章:而且背景图像不会打印出来。这是可能的,但浏览器中的默认设置为;不要打印背景图像 我确保图像的分辨率为150dpi。那么它们对于屏幕来说就

我说的不仅仅是打印css或
media=print

问题:

  • 我说的是我们在XHTMl和屏幕css以及打印css(其他)中应该做的其他事情 而不是打印css中的显示:无 你应该注意从我这里得到好的印刷品 网站页面
  • 我们需要特殊照顾吗 图像,css中的背景图像, 闪光灯、银光灯、iframe
  • 如何在打印时节省打印机墨水 css

关于这个主题,列表中有两篇有用的文章:而且背景图像不会打印出来。这是可能的,但浏览器中的默认设置为;不要打印背景图像

我确保图像的分辨率为150dpi。那么它们对于屏幕来说就不太大,对于纸张来说也是可以接受的。GIF格式不在文件中存储dpi信息,但您可以使用CSS为其提供可接受的大小


较小的字体需要较少的墨水

从XHTML的角度来看,除了确保代码的有效性和语义之外,没有什么可做的

现在谈谈打印css。你可以认为有些人可能会用黑白打印你的网页,或者他们可能有很少的颜色墨水(因此得到微弱的颜色)。因此,如果您有任何浅色、粉彩或文本与背景之间对比度不高的地方,请确保在打印样式中增强对比度。 试着用黑白打印你的页面,看看它看起来如何

我不确定flash和silverlight之类的插件是如何打印出来的,但是你可以在print.css中为它们添加背景图像,这样如果它们没有打印出来,至少你可以得到flash的快照,而不是一个白洞

对于图片,我建议你听范兰克维德的话。将它们设置为150dpi,并确保它们在CMYK上看起来不错(您可以在Photoshop中通过查看>校对颜色来实现这一点)

还要检查你的字体。一些可能需要更小一些,一些更大一些。如果你有很多文字,你可能想考虑使用更多的“打印”字体,比如HelviTi或TimeRealRoad(特别是如果你使用像Verdana这样的基于屏幕的字体)。 最后,为了节省墨水,我会删除任何不是绝对必要的东西(是的
display:none
)。出于同样的原因,我会远离print.css中的背景图像。我会将所有超链接设置为黑色(或文本颜色),没有下划线,因为没有理由在打印页面中使用它们。 你也可以通过使用111或222而不是000来保存一些墨水(但是它可能会影响可读性)。

< P>我承认这不可能是你收到的最实用的答案,你可能想考虑一种专门用来保存打印机墨水的字体。


请参阅注释。

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

假设有一个页面,其中的超链接实际上对内容非常重要——比如,它是主题xyz的有用网站列表。不知道为什么有人会打印出来,但如果他们打印出来,一堆带下划线的句子也不会有多大帮助

你实际上可以使用

对于子孙后代来说,代码是

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) "> "; }
a.printable:link:after,a.printable:visted:after{content:;}
请务必记住,css中的“内容:”值中不允许使用实体。基本上你只需要输入你想要的原始文本

此外,对于打印,您可能应该使用
pt
而不是
px
em
来调整大小。您可以使大小小于屏幕的等效大小。默认大小通常设置为12点,但您可以轻松地将其设置为11点,并且仍然保持足够的可读性。从长远来看,这将节省大量的墨水(和纸张!)

除了可能的内容图形(换句话说,构成页面有意义内容的图形,而不是用于布局、美化或吸引眼球的图形)之外,几乎没有任何非文本应该出现在页面上。除非在极少数情况下(例如,必须注意文本的某一部分,尽管简单地将其设置为粗体可能同样有效,并再次节省墨水),否则应消除边框和背景。如果您使用css制作外观奇特的

s,则在打印时完全去掉样式,只使用内置样式,或者用纯黑色或灰色线条替换所有

s(再次使用
pt
,如2pt,而不是
px
,以更改高度)

我想不出有多少情况下,你会在iframe中包含你想要打印的内容。如果是这样的话,那么制作一个可打印的页面版本,将内容从iframe中取出并直接放入文档中,这可能非常值得,这样可以更好地进行打印。

Ecofont完全是胡说八道: