We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

The @page CSS at-rule is used to modify some CSS properties when printing a document. You can't change all CSS properties with @page. You can only change the margins, orphans, widows, and page breaks of the document. Attempts to change any other CSS properties will be ignored.

@page {
  margin: 1cm;

@page :first {
  margin: 2cm;

The @page at-rule can be accessed via the CSS object model interface CSSPageRule.

Note: The W3C is discussing how to handle viewport-related <length> units, vh, vw, vmin, and vmax. Meanwhile do not use them within a @page at-rule.



Specifies the target size and orientation of the page box’s containing block. In the general case, where one page box is rendered onto one page sheet, it also indicates the size of the destination page sheet.
Adds crop and/or registration marks to the document.
Specifies the extent beyond the page box at which the page rendering is clipped.

Formal syntax

@page <page-selector-list> {

<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


Please refer to the various pseudo-classes of @page for examples.


Specification Status Comment
CSS Logical Properties and Values Level 1
The definition of ':recto and :verso' in that specification.
Editor's Draft Adds the :recto and :verso page selectors
CSS Paged Media Module Level 3
The definition of '@page' in that specification.
Working Draft No change from CSS Level 2 (Revision 1), though more CSS at-rules can be used inside a @page.
CSS Level 2 (Revision 1)
The definition of '@page' in that specification.
Recommendation Initial definition

Browser compatibility


FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support2 Yes1986 No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support ? ? Yes19 ? ? ?


Document Tags and Contributors

Last updated by: fscholz,