13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside'

Chapter 13 - Paged media - 13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside'

Go to the relevant page of the specification.

allowed-page-breaks-001a (paged)
allowed page breaks between blocks
Unforced breaking in the vertical margin between sibling block boxes is allowed only if the 'page-break-after' and 'page-break-before' properties of all the elements generating boxes that meet at this margin are 'auto' and the common ancestors of all the elements do not have a 'page-break-inside' value of 'avoid'.
allowed-page-breaks-001b (may, paged)
allowed page breaks between table rows
Unforced breaking in the vertical margin between sibling table rows is allowed only if the 'page-break-after' and 'page-break-before' properties of all the elements generating boxes that meet at this margin are 'auto' and the common ancestors of all the elements do not have a 'page-break-inside' value of 'avoid'.
allowed-page-breaks-001c (may, paged)
allowed page breaks between blocks within table cells
Unforced breaking in the vertical margin between sibling block boxes is allowed only if the 'page-break-after' and 'page-break-before' properties of all the elements generating boxes that meet at this margin are 'auto' and the common ancestors of all the elements do 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 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.
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 (invalid, paged)
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 (invalid, paged)
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 - page-break-before on floats
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 (invalid, paged)
@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'.