Print stylesheets, what are they good for?

I was recently asked to justify print stylesheets to a client. Here is what I wrote.

Why we use print stylesheets

The aim of web design is visual, and many webpages don't print out very well. Navigation lists, ad banners, background colours etc clutter up printouts and make them much harder to read. We use the print stylesheet to hide these areas of the page. We also change the font styles, colors and sizes in order that the page is easily readable when printed and that the contrast between colors works well if the document is printed in black and white.

Aside from using print stylesheets for usability reasons, we also use them for practical reasons. Since the print margins and page widths are not under your control as a web designer, you can't guarantee how much of a webpage will be printed on each page and hence where the page breaks will be. It will vary according to the user's browser, browser settings and printer. If your webpage uses positioning other than static (e.g. position: absolute) or floats this can render unpredictably. This means we have to make a number of changes to the underlying CSS to ensure the page is still readable. Most browsers also default to having background colours and images switched off when printing (to save ink)so in order to make sure the page is readable and consistent across browsers we style our print versions assuming background printing is turned off.

To summarise, we use print stylesheets to render accessible, readable, multi-browser compatible print outs of content rich pages. We don't use them to offer users the ability to print out a visual copy of the page. If they wish to do this they can easily take a screenshot first and print that out. Even without a different print stylesheet it is highly unlikely that the page would render in print as it does on screen anyway due to the points raised above.

05 March 2007

Comment on this post

Remember personal info?:

Yes, send me email when someone replies.

Comment: (add Emoticons)

Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.

To prevent comment spam please answer this question