@page

La règle @ @page est utilisée afin de modifier certaines propriétés CSS lorsqu'on imprime un document. La règle @page ne permet par de modifier toutes les propriétés mais uniquement celles qui portent sur les marges, les lignes orphelines et veuves ainsi que les sauts de page du document. Si on utilise cette règle @ pour modifier une autre propriété, ce changement sera ignoré.

@page {
  margin: 1cm;
}

@page :first {
  margin: 2cm;
}

La règle @ @page peut être manipulée via le CSSOM, notamment avec l'interface CSSPageRule.

Note : Le W3C est en train de discuter de la gestion des unités de longueur (<length>) relative à la zone d'affichage (viewport) : vh, vw, vmin et vmax. En attendant, il est conseillé de ne pas les utiliser au sein d'une règle @page.

Syntaxe

Descripteurs

size
Définit la taille et l'orientation du bloc englobant la boîte de la page. En général, lorsqu'une boîte correspondant à une page est rendu sur une feuille, cela indique la taille de la page utilisée.
marks
Ajoute des marques pour la découpe ou l'alignement des pages du document.
bleed
Définit la limite au-delà de la boîte de la page au-delà de laquelle le contenu affiché est rogné.

Syntaxe formelle

@page <page-selector-list> {
  <page-body>
}


<page-selector-list> = [ <page-selector># ]?
<page-body> = <declaration>? [ ; <page-body> ]? | <page-margin-box> <page-body>


<page-selector> = <pseudo-page>+ | <ident> <pseudo-page>*
<page-margin-box> = <page-margin-box-type> '{' <declaration-list> '}'


<pseudo-page> = : [ left | right | first | blank ]
<page-margin-box-type> = @top-left-corner | @top-left | @top-center | @top-right | @top-right-corner | @bottom-left-corner | @bottom-left | @bottom-center | @bottom-right | @bottom-right-corner | @left-top | @left-middle | @left-bottom | @right-top | @right-middle | @right-bottom

Exemples

@page :first {
  margin: 2cm 3cm;
} 

Pour d'autres exemples, voir les pages qui concernent les pseudo-classes liées à @page :

Spécifications

Spécification État Commentaires
CSS Logical Properties and Values Level 1
La définition de ':recto and :verso' dans cette spécification.
Brouillon de l'éditeur Ajout des sélecteurs de page :recto et :verso.
CSS Paged Media Module Level 3
La définition de '@page' dans cette spécification.
Version de travail Aucun changement depuis  CSS Level 2 (Revision 1), bien que plus de règles @ puissent être utilisées au sein d'une règle @page.
CSS Level 2 (Revision 1)
La définition de '@page' dans cette spécification.
Recommendation Définition initiale.

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
@pageChrome Support complet 2Edge Support complet 12Firefox Support complet 19IE Support complet 8Opera Support complet 6Safari Aucun support NonWebView Android Support complet 37Chrome Android Support complet 18Firefox Android Support complet 19Opera Android ? Safari iOS Aucun support NonSamsung Internet Android ?
bleed descriptor
Expérimentale
Chrome Aucun support NonEdge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Non
marks descriptor
Expérimentale
Chrome Aucun support NonEdge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Non
size descriptor
Expérimentale
Chrome Aucun support NonEdge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Non

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.

Voir aussi