+
13.2 Page boxes: the @page rule
|
at-page-rule-001 |
|
InvalidPaged |
Ignoring at-rules inside declaration blocks
- At-rules inside @page blocks are parsed as invalid at-rule statements.
|
page-container-000 |
|
Paged |
Paged Media root container
- For a single-page document, the containing box for the root element is the page area.
|
page-container-001 |
|
Paged |
paged media abspos containing block
- For a single-page document, the containing box for positioned content with no positioned ancestor is the page area.
|
page-container-002 |
|
Paged |
paged media root percent height
- A percentage height on the root element is relative to the page area height.
|
page-container-003 |
|
Paged |
paged media position fixed
- Elements with 'position: fixed' are positioned relative to the page area and are rendered on every page of the printed document.
|
page-container-004 |
|
OptionalPaged |
Paged Media root container (float)
- The root element when floated abuts the left or right edge of the page area.
|
page-container-005 |
|
BitmapsPaged |
Paged content
- The page area includes the boxes laid out on that page. The content of the document is flowed into the page area of one or more page sheets.
|
page-container-006 |
|
Paged |
Paged media - percent on root
- A percentage width on the root element is relative to the page area width.
|
page-container-010 |
|
Paged |
Paged Media Height (percent)
- For HTML documents in paged media, when the HTML and BODY elements have heights of 100%, a percentage height on a child of BODY is relative to the page area height.
|
page-selectors-001 |
|
Paged |
- An @page rule consists of the keyword '@page', followed by an optional page selector, followed by a block of declarations.
|
+
13.2.1 Page margins
|
at-page-rule-002-a |
|
Paged |
@page margins on top and right using percentages
- A percentage right margin in the @page context applies to the page box and is relative to the width of the page box. A percentage top margin in the @page context applies to the page box and is relative to the height of the page box.
|
at-page-rule-002-c |
|
Paged |
Page Margins: bottom and left (percent)
- A margin declaration within the @page context applies to the page box.
- Percentage values on right and left margins are relative to the page box width.
- Percentage values on top and bottom margins are relative to the page box height.
|
page-margin-000 |
|
Paged |
@page margins shorthand using fixed physical units
- A margin declaration within the @page context applies to the page box.
|
page-margin-001 |
|
Paged |
@page margins on top and right using percentages
- A percentage right margin in the @page context applies to the page box and is relative to the width of the page box. A percentage top margin in the @page context applies to the page box and is relative to the height of the page box.
|
page-margin-002 |
|
Paged |
@page margins on bottom and left using percentages
- A margin declaration within the @page context applies to the page box.
|
page-props-100-a |
|
Paged |
Unqualified Page Contexts (first, right)
- A margin declaration within a page context which is not qualified by a pseudo-class (or, for css3, a named page identifier) sets the margins for every page of the document which doesn't match a page context with a :first, :right, or :left pseudoclass (or, for css3, a named page identifier).
|
page-props-100-b |
|
Paged |
Unqualified Page Contexts (first, left)
- A margin declaration within a page context which is not qualified by a pseudo-class (or, for css3, a named page identifier) sets the margins for every page of the document which doesn't match a page context with a :first, :right, or :left pseudoclass (or, for css3, a named page identifier).
|
+
13.2.2 Page selectors: selecting left, right, and first pages
|
first-page-selectors-001 |
|
Paged |
Page Selectors - First Page in LTR
- The first page of a left-to-right document is a :right page.
|
first-page-selectors-002 |
|
Paged |
Page Selectors - First Page in RTL
- The first page of a right-to-left document is a :left page.
|
first-page-selectors-003 |
|
Paged |
Page Selectors - First Page in LTR Forced :left
- The first page of a left-to-right document can be forced as :left by inserting a page break.
|
first-page-selectors-004 |
|
Paged |
Page Selectors - First Page in RTL Forced :right
- The first page of a right-to-left document can be forced as :right by inserting a page break.
|
page-grammar-002 |
|
Paged |
pseudo_page grammar (white space before)
- A pseudo-page specifier within a page context may or may not be followed by white space.
|
page-props-100-a |
|
Paged |
Unqualified Page Contexts (first, right)
- A margin declaration within a page context which is not qualified by a pseudo-class (or, for css3, a named page identifier) sets the margins for every page of the document which doesn't match a page context with a :first, :right, or :left pseudoclass (or, for css3, a named page identifier).
|
page-props-100-b |
|
Paged |
Unqualified Page Contexts (first, left)
- A margin declaration within a page context which is not qualified by a pseudo-class (or, for css3, a named page identifier) sets the margins for every page of the document which doesn't match a page context with a :first, :right, or :left pseudoclass (or, for css3, a named page identifier).
|
page-props-101 |
|
Paged |
Right and Left Pages (page area equal)
- The right and left pages of a document may use differing margin styles that yield equivalent page area heights.
|
page-props-102 |
|
Paged |
Right and Left Pages (page area equal)
- The right and left pages of a document may use differing margin styles that yield different page area widths, but the UA may adjust the margins such that the page area widths are the same.
|
page-props-103 |
|
Paged |
Right and Left Pages (page area equal)
- The right and left pages of a document may use differing margin styles that yield different page area heights.
|
page-selectors-002 |
|
Paged |
Page Selectors: first, right, and left pages
- In CSS 2.1, page selectors may designate the first page, all left pages, or all right pages.
|
page-selectors-003 |
|
Paged |
Page cascade (right/left)
- Properties specified in a :left or :right @page rule override those specified in an @page rule that has no pseudo-class specified.
|
page-selectors-004 |
|
Paged |
Page cascade (first trumps right)
- Properties specified in a :first @page context override those specified in :right @page contexts.
|
page-selectors-006 |
|
Paged |
Page cascade (first trumps no pseudo-class)
- Properties specified in a :first @page rule override those specified in an @page rule with no pseudo-class specified.
|
+
13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside'
|
allowed-page-breaks-001a |
|
Paged |
allowed page breaks between blocks
- Breaking in the vertical margin between block boxes (or rows in a table) is allowed only if the 'page-break-after' and 'page-break-before' properties of all the elements generating boxes that meet at this margin allow it, which is when at least one of them has the value 'always', 'left', or 'right', or when all of them are 'auto' and the nearest common ancestor of all the elements does not have a 'page-break-inside' value of 'avoid'.
|
allowed-page-breaks-001b |
|
OptionalPaged |
allowed page break margin handling (table rows)
- Breaking in the vertical margin between table rows is allowed only if the 'page-break-after' and 'page-break-before' properties of the rows that meet at this margin allow it, which is when at least one of them has the value 'always', 'left', or 'right', or when all of them are 'auto' and the nearest common ancestor of all the elements does not have a 'page-break-inside' value of 'avoid'.
|
allowed-page-breaks-001c |
|
OptionalPaged |
allowed page break margin handling inside table rows
- Breaking in the vertical margin between block boxes inside rows in a table is allowed only if the 'page-break-after' and 'page-break-before' properties of all the elements generating boxes that meet at this margin allow it, which is when at least one of them has the value 'always', 'left', or 'right', or when all of them are 'auto' and the parent table row does not have a 'page-break-inside' value of 'avoid'.
|
allowed-page-breaks-002 |
|
Paged |
allowed page break - line box breaking
- Breaking between line boxes is allowed only if the number of line boxes between the break and the start of the enclosing block box is the value of 'orphans' or more, and the number of line boxes between the break and the end of the box is the value of 'widows' or more and the value of the 'page-break-inside' property is 'auto'.
|
allowed-page-breaks-003 |
|
Paged |
allowed page break - dropping page-break-* restrictions
- If the standard restrictions do not provide enough break points to keep content from overflowing the page boxes, then the restrictions imposed by 'avoid' on the 'page-break-*' properties are dropped.
|
allowed-page-breaks-004 |
|
Paged |
allowed page break - dropping widows and orphans restrictions
- If the standard restrictions do not provide enough break points to keep content from overflowing the page boxes after dropping the restrictions imposed by 'avoid' on the 'page-break-*' properties then the restrictions due to 'windows' and 'orphans' are dropped as well.
|
forced-page-breaks-000 |
|
Paged |
forced page breaks
- A page break MUST occur in the vertical margin between block boxes (or rows in a table) if, among the 'page-break-after' and 'page-break-before' properties of all the elements generating boxes that meet at this margin, there is at least one with the value 'always', 'left', or 'right'.
|
forced-page-breaks-001 |
|
Paged |
multiple forced page breaks case
- When multiple 'page-break-before' and/or 'page-break-after' properties with values of 'always', 'left' or 'right' apply at a margin, only one of them generates page breaks.
|
forced-page-breaks-002 |
|
Paged |
forced page breaks for different page values
- A page break MUST occur in the vertical margin between block boxes (or rows in a table) if the last line box above this margin and the first one below it do not have the same value for 'page'.
|
page-break-after-000 |
|
Paged |
page-break-after: always
- The 'always' value of the 'page-break-after' property forces a page break after the box.
|
page-break-after-001 |
|
Paged |
page-break-after: auto
- The 'always' value of the 'page-break-after' property forces a page break after the box.
|
page-break-after-002 |
|
Paged |
page-break-after applies to blocks
- The 'page-break-after' property must be applied to block-level elements and may be applied to other elements.
|
page-break-after-003 |
|
Paged |
page-break-after (no inherit)
- The 'page-break-after' property is not inherited.
|
page-break-after-004 |
|
InvalidPaged |
page-break-after (invalid syntax)
- The syntax of the 'page-break-after' property is auto | always | avoid | left | right.
|
page-break-after-005 |
|
Paged |
page-break-after: initial value
- The initial value of the 'page-break-after' property is 'auto'.
|
page-break-after-006 |
|
Paged |
page-break-after applies to paged media
- The 'page-break-after' property applies to paged media only
|
page-break-after-007 |
|
Paged |
page-break-after: auto
- The 'auto' value of the 'page-break-after' property neither forces nor forbids a page break after the box.
|
page-break-after-008 |
|
Paged |
page-break-after: right
- The 'right' value of the 'page-break-after' property forces one or two page breaks before the box so that the page after the break is formatted as a right page
|
page-break-after-009 |
|
Paged |
page-break-after: avoid
- The 'avoid' value of the 'page-break-after' property inhibits a page break after the element when possible.
|
page-break-after-010 |
|
Paged |
page-break-after: left
- The 'left' value of the 'page-break-after' property forces one or two page breaks before the box so that the page after the break is formatted as a left page
|
page-break-before-000 |
|
Paged |
page-break-before: always
- The 'always' value of the 'page-break-before' property forces a page break before the box.
|
page-break-before-001 |
|
Paged |
page-break-before :auto
- The 'auto' value of the 'page-break-before' property neither forces nor forbids a page break before the box.
|
page-break-before-002 |
|
Paged |
page-break-before inline elements
- The 'page-break-before' property applies to block-level elements only.
|
page-break-before-003 |
|
Paged |
page-break-before: left
- - The 'left' value of the 'page-break-before' property forces one or two page breaks before the box so that the page after the break is formatted as a left page.
|
page-break-before-004 |
|
Paged |
page-break-before (no inherit)
- The 'page-break-before' property is not inherited.
|
page-break-before-005 |
|
Paged |
page-break-before: right
- - The 'right' value of the 'page-break-before' property forces one or two page breaks before the box so that the page after the break is formatted as a right page.
|
page-break-before-006 |
|
InvalidPaged |
page-break-before (invalid syntax)
- The syntax of the 'page-break-before' property is auto | always | avoid | left | right.
|
page-break-before-007 |
|
Paged |
page-break-before initial value
- The initial value of the 'page-break-before' property is 'auto', which neither forces nor forbids a page break before boxes.
|
page-break-before-007-b |
|
Paged |
page-break-before explicit auto test
- The initial value of the 'page-break-before' property is 'auto'.
|
page-break-before-008 |
|
Paged |
page-break-before paged media
- The 'page-break-before' property applies to paged media only
|
page-break-before-009 |
|
Paged |
page-break-before avoid
- The 'avoid' value of the 'page-break-before' property prevents a page break before the element when possible
|
page-break-before-010 |
|
Paged |
page-break-before :auto
- The 'auto' value of the 'page-break-before' property neither forces nor forbids a page break before the box.
|
page-break-before-011 |
|
Paged |
page-break-before initial value
- The initial value of the 'page-break-before' property is 'auto', which neither forces nor forbids a page break before boxes.
|
page-break-before-020 |
|
Paged |
Paged media - percent on root
- The 'page-break-before' property applies to floated block-level elements in normal flow.
|
page-break-inside-000 |
|
Paged |
page-break-inside:auto
- The 'auto' value of the 'page-break-inside' property neither forces nor forbids a page break inside the box.
|
page-break-inside-001 |
|
Paged |
page-break-inside: avoid (basic)
- The 'avoid' value of the 'page-break-inside' property causes the UA to avoid breaking inside the element.
|
page-break-inside-002 |
|
Paged |
page-break-inside (inline elements)
- The 'page-break-inside' property applies to block-level elements only.
|
page-break-inside-003 |
|
InvalidPaged |
@page page-break-inside invalid syntax
- The syntax of the 'page-break-inside' property is auto | avoid.
|
page-break-inside-004 |
|
Paged |
@page page-break-inside:auto
- The initial value of the 'page-break-inside' property is 'auto'.
|
page-break-inside-006 |
|
|
page-break-inside: paged media
- The 'page-break-inside' property applies to paged media only.
|
page-break-margins-002 |
|
Paged |
allowed page break margin handling
- When a page break occurs in the vertical margin between sibling block boxes (or rows in a table), the used values of the adjoining 'margin-bottom' and 'margin-top' properties are set to '0'.
|
page-break-margins-003 |
|
Paged |
page break margin handling
- When a page break occurs in the vertical margin between sibling block boxes, the used values of the adjoining 'margin-bottom' and 'margin-top' properties are set to '0'.
|
page-break-margins-004 |
|
Paged |
page break margin handling
- When a page break occurs in the vertical margin between sibling block boxes, the used values of the adjoining 'margin-top' property is set to '0'.
|