DZone: Your Personal Tech Universe Web Builder Zone
Published on Web Builder Zone (http://css.dzone.com)
Advanced CSS Printing -- Using CSS Page Breaks
By davidwalsh
Created 2008/01/21 - 11:59pm

I have one customer that absolutely insists his web pages print perfectly. Why? Because he refuses to look at his pages on the screen -- he tells his employees to print the website for him to look at. And since he looks at pages that way, he believes most of his customers do just this.

Needless to say, I've learned quite a few tricks to making a website print properly. I've already shared methods for making your website content printer-friendly [1], as well as making your website structure printer-friendly [2]. One important aspect of making your pages printer-friendly is by using CSS/XHTML page breaks.

There are numerous spots that are good for page breaks:

  • Between page sections (h2 or h3 tags, depending on your site format)
  • Between the end of an article and subsequent comments / trackbacks
  • Between longs blocks of content

Luckily, using page breaks in CSS is quite easy.

The CSS Code

@media all 
{
.page-break { display:none; }
}

@media print
{
.page-break { display:block; page-break-before:always; }
}

The XHTML Code

<div class="page-break"></div>

The Usage

<h1>Page Title</h1>
<!-- content block -->
<!-- content block -->
<div class="page-break"></div>
<!-- content block -->
<!-- content block -->
<div class="page-break"></div>
<!-- content block -->
<!-- content block -->
Reference: 
Advanced CSS Printing -- Using CSS Page Breaks [3]

Source URL: http://css.dzone.com/news/advanced-css-printing-using-css-page-breaks

Links:
[1] http://davidwalsh.name/optimizing-your-website-content-for-print-using-css/
[2] http://davidwalsh.name/optimizing-your-website-structure-for-print-using-css/
[3] http://davidwalsh.name/advanced-css-printing-css-page-breaks