Ah, è vero, che pirla! 
Il meccanismo è molto semplice. Mettiamo di avere una struttura del genere:
codice:
<div id="contenitore">
<div id="navigazione">
...
</div>
<div id="contenuto">
...
</div>
<div id="footer">
...
</div>
</div>
Quando si stampa una pagina web, spesso e volentieri si punta al contenuto ed elementi come il menù di navigazione diventano solo uno spreco di inchiostro e di spazio.
L'idea è quindi semplicemente non far visualizzare gli elementi fastidiosi. Ecco come potrebbe essere scritto un CSS che lasci visibile solo il div "contenuto":
codice:
#navigazione, #footer { display:none }
Adesso altro non ci rimane che linkare tale foglio di stile ai documenti e dire al browser di caricarlo solo e solamente in caso di stampa. Nulla di più veloce:
codice:
<link
rel="stylesheet"
type="text/css"
href="stampa.css"
media="print" />