Une feuille de style pour l'impression

En bref

Une solution CSS qui remplace avantageusement la version imprimable d'un document.


Le projet

Votre site propose de nombreuses ressources : images, textes... que vos visiteurs aimeront peut-être imprimer afin de les consulter à tête reposée. Mais une mise en page web est rarement reproductible telle quelle sur papier : les outils de navigation (menus, boutons...) y sont inutiles, l'écran est rarement respectueux du format A4, et vos lecteurs préfèreraient peut-être se passer de vos belles couleurs au profit d'une économie sur leur cartouche d'encre.

Bien-sûr, vous pouvez proposer une seconde version « imprimable » de vos documents. Mais vous gagnerez du temps en créant plutôt une simple une feuille de style spécifique, qui permettra d'imprimer proprement votre document original depuis n'importe quel navigateur respecteux des standards. Naturellement, elle doit être étroitement adaptée à la présentation de votre page : il n'y a pas de feuille de style-type d'impression.

Attention ! Le rôle d'une feuille de style n'est pas de contrôler au pixel près le rendu à l'écran. De la même manière, les règles d'impression CSS2 reposent sur la capacité des navigateurs à gérer par eux-mêmes une grande partie des problèmes de transfert sur papier de pages web. Si l'utilisateur l'a configuré ainsi, le navigateur outrepassera les règles de votre feuille de style d'impression. Vous devez compter également avec les particularités de son imprimante : notre propos est donc de garantir une impression correcte, mais non d'en déterminer précisément le moindre détail typographique.

Pour lier vos styles d'impression à vos pages XHTML

Si vous utilisez des feuilles de style externes

Votre feuille de style d'impression est différente de votre feuille de style « générale » : enregistrée dans un fichier séparé (par exemple, print.css), elle n'est utilisée par le navigateur que lorsque le visiteur imprime la page consultée. Dans ce cas, les règles qu'elle contient s'ajoutent aux règles de votre feuille de style générale. La feuille de style d'impression a alors priorité sur la feuille de style générale, puisqu'elle est spécifiquement dédiée au média d'impression (print).

Le lien suivant doit être placé dans l'en-tête de votre page web :

<link rel="stylesheet" type="text/css" media="print" href="print.css"  />

Si vous utilisez une feuille de style interne

Vous pouvez ajouter à la section <style>...</style> de votre en-tête les styles spécifiques pour l'impression grâce à la règle @media :

@media print {
  ... vos styles...
}

(Note : Netscape 4 ne tient aucun compte des feuilles de style ayant le media print)

Orientation et marges

Pour tout le contenu

Pour un élément spécifique

Couleurs

Arrières-plans

Avant-plan

Impression sélective

Sauts de page et lignes orphelines

Impression des URL

Pour aller plus loin

Lisez Un exemple de feuille de style d'impression pour voir comment ces tecchniques sont mises en pratique.

Consultez les feuilles de style d'OpenWeb :

Retour en haut de la page
Mandragor.org - Version 8.3