Fiche CSS : Impression.Objet de la ficheÉtat de la fiche
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mentions | Commentaires et exemples | Valeurs |
|---|---|---|
| size | Taille de la page Déterminer la largeur et la hauteur de la mise en page.En cm,in,% |
auto : Format normal du mode de sortie (par défaut). |
| landscape : Format paysage. | ||
| portrait : Format portrait. | ||
| Mentions numériques : 2 mentions séparées par un espace largeur et hauteur en cm | ||
| @page { size:landscape; size:21.0cm 29.7cm;} | ||
| margin | Définir les marges de pages | margin-top : marge supérieure. |
| margin-bottom : marge inférieure. | ||
| margin-left : marge gauche | ||
| margin-right : marge droite | ||
| margin : par déterminer une marge unique pour l'ensemble des côtés. | ||
| @page { size:landscape;margin-left:2cm;} | ||
| marks | Traits de coupe (coupe de pages) et repères de montage (alignement de la page pour photocopie et impression). | none : pas de traits ni de repères(réglage normal). |
| crop(1) : poser des traits de coupe. | ||
| cross(1) : poser des repères de montage. | ||
| @page { size:landscape;margin-left:2cm;marks:crop cross;} | ||
Nota (1) : crop et cross peuvent être définies individuellement ou touts les deux, séparés par un espace. Dans ce cas les deux types de marque sont pris en compte.
Les directives @page doivent se trouver en tête de feuille de style.
On peut définir des mises en pages différentes pour les pages droites et gauche, ainsi que pour la première page.
Ces mises en page sont définies en style global avec le mot clé page.
@page :left { mentions sur la mise en page des pages de gauche }
@page :right { mentions sur la mise en page des pages de droite }
@page :first { mentions sur la mise en page de la première page uniquement }
Les mentions que l'on peut appliquer sur la mise en page des pages de gauche, droite ou première page sont les mêmes que précédemment, à savoir size, margin, marks.
Les directives @page doivent se trouver en tête de feuille de style.
On peut définir différents formats spéciaux pour certains éléments de la manière suivante :
| <style type="text/css"> | |
| @page monFormat { size:landscape; } | On défini une page par son nom (ici comme exemple monFormat) avec sa règle de style qui utilise les mentions de mise en page décrites ci-dessus. |
| div.PersonnalisationDiv { page:monFormat; /* autres mentions CSS */ } | Exemple : toutes les balises div possédant l'identificateur class="PersonnalisationDiv" se verront appliquées la définition de monFormat. |
| </style> |
Utiliser des polices avec empattement comme 'times new roman', times, serif beaucoup plus lisibles à l'impression que les polices sans empattement.

Dans le fichier CSS concernant l'impression utiliser display:none au lieu de visibility:hidden pour supprimer les éléments qui ne doivent pas apparaître à l'impression. En effet visibility:hidden cache l'élément mais l'espace réservé n'est pas libéré, ce qui peut entraîner des zones blanches à l'impression. display:none fait comme si l'élément n'existait pas.
Si vous voulez forcer ou empêcher un saut de page, vous pouvez le faire au moyen de 2 attributs CSS page-break-before et page-break-after.
Pour imposer ou empêcher un saut de page avant l'élément sur lequel s'applique le style.
<h1 style="page-break-before:always">xxxxxxxx</h1>
Pour imposer ou empêcher un saut de page aprés l'élément sur lequel s'applique le style.
<h1 style="page-break-after:always">xxxxxxxx</h1>
| Propriétés | Attributs | Commentaires |
|---|---|---|
| page-break-before | always | Insère un saut de page avant l'élément actuel. |
| avoid | Ne pas insérer de saut de page avant l'élément actuel. | |
| left | Avec Pages droite/gauche et première page insère un saut de page avec élément concerné sur la prochaine page de gauche. | |
| right | Avec Pages droite/gauche et première page insère un saut de page avec élément concerné sur la prochaine page de droite. | |
| inherit | Prend la mention de saut de page de l'élément parent (hériter). | |
| auto | Aucune mention de saut de page (par défaut). | |
| page-break-after | always | Insère un saut de page après l'élément actuel. |
| avoid | Ne pas insérer de saut de page après l'élément actuel. | |
| left | Avec Pages droite/gauche et première page insère un saut de page avec élément concerné sur la prochaine page de gauche. | |
| right | Avec Pages droite/gauche et première page insère un saut de page avec élément concerné sur la prochaine page de droite. | |
| inherit | Prend la mention de saut de page de l'élément parent (hériter). | |
| auto | aucune mention de saut de page (par défaut). |
On peut empêcher que des sauts de page dans du texte courant se fassent si une seule ligne se trouve sur une page et toutes les autres lignes du paragraphe sur la page suivante.
Pour cela on peut spécifier combien de lignes du texte courant
plus long doivent au minimum figurer sur la page avant le saut de
page. Un chiffre est permis qui exprime le nombre de lignes. Le
réglage par défaut est 2.
Cette règle s'inscrit dans la feuille de style générale qui gère
l'impression.
Exemple : <style type="text/css"> h1,h2,h3,h4,p,td,ul,li {orphans:3;} </script
On peut empêcher que des sauts de pages dans du texte courant se fassent si malencontreusement une seule ligne se trouve sur la nouvelle page et que toutes les autres lignes du paragraphe se trouvent sur la page précédente avant le saut de page.
Pour cela on peut spécifier combien de lignes du texte courant plus long doivent au minimum figurer sur la page après le saut de page sur la nouvelle page. Un chiffre est permis qui exprime le nombre de lignes. Le réglage par défaut est 2.
Exemple : <style type="text/css"> h1,h2,h3,h4,p,td,ul,li {widows:3;} </script>
Utilisez la fonction attr(x) associé aux pseudo-éléments after ou before et à l'attribut content pour faire apparaître la destination des liens.
Retrouvez ce mécanisme en détail dans la fiche "Structuration automatique des pages".
Le titre général de l'article est délimité par la balise <h1> suivant l'exemple :
<h1>Déclaration des droits de l'homme.</h1>
Tous les blocs sont délimités par les balises de paragraphe <p> suivant l'exemple :
<P>Considérant que la reconnaissance de ....</p>
Les titres des articles sont délimités par la balise <h2> suivant l'exemple :
<h2 style="page-break-before:always">Article premier</h2>
|
|
|
|
|
|
La numérotation automatique des paragraphes est héritée du style media="all".
| Navigateurs | Résultats impression | Commentaires |
| Internet Explorer |
|
|
| Firefox Mozilla |
|
|
| Opéra / Safari | Les plus complets |
Le but de l'exercice est de pouvoir imprimer (via la commande imprimer du navigateur) uniquement les informations concernant la Boutique du Fleuriste au niveau de la page d'accueil (index.html). Il s'agit en fait de récupérer une partie des informations contenues dans la fenêtre qui apparaît lors du survol du titre ("Bienvenue sur ...), et de l'imprimer sous forme de carte de visite.
Il faudra pour cela créer une feuille de style externe de type "print" adaptée au résultat que l'on veut obtenir.

Pour obtenir le résultat suivant lorsque l'on demande l'impression de la page web :
