From: Subject: Paged media Date: Tue, 28 Jan 2003 11:58:58 +0100 MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_000_0291_01C2C6C4.A41F0060"; type="text/html" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 This is a multi-part message in MIME format. ------=_NextPart_000_0291_01C2C6C4.A41F0060 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.w3.org/TR/REC-CSS2/page.html Paged media

previous =   next   contents =   properties =   index   =


13 Paged media

13.1 Introduction to paged media

Paged media (e.g., paper, transparencies, pages that are displayed on = computer screens, etc.) differ from = continuous=20 media in that the content of the document is split into one or more = discrete=20 pages. To handle page breaks, CSS2 extends the visual formatting = model as=20 follows:

  1. The page=20 box extends the box = model to allow=20 authors to specify the size of a page, its margins, etc.=20
  2. The page=20 model extends the visual formatting = model=20 to account for page = breaks.=20

The CSS2 page model specifies how a document = is=20 formatted within a rectangular area -- the page box = -- that has=20 a finite width and height. The page box does not necessarily correspond = to the=20 real sheet=20 where the document will ultimately be rendered (paper, transparency, = screen,=20 etc.). The CSS page model specifies formatting in the page box, but it = is the=20 user agent's responsibility to transfer the page box to the sheet. Some = transfer=20 possibilities include:

Although CSS2 does not specify how user agents transfer page boxes to = sheets,=20 it does include certain mechanisms for telling user agents about the = target=20 sheet size and = orientation.=20

13.2 Page boxes: the @page rule

The page = box is a rectangular region that contains two = areas:

Note. In CSS2, the border = properties and paddin= g=20 properties do not apply to pages; they may in the future. =

Authors specify the dimensions, orientation, margins, etc. of a page = box=20 within an @page rule. An=20 @page rule consists of the keyword "@page", a page selector (followed = with no=20 intervening space by an optional page pseudo-class), and a block of = declarations=20 (said to be in the page context).

The page=20 selector specifies for which pages the declarations = apply. In=20 CSS2, page selectors may designate the first page, all left pages, all = right=20 pages, or a page with a specific name.

The dimensions of the page box are set with the 'size' property. The dimensions of the = page area=20 are the dimensions of the page box minus the margin area.=20

Example(s):

For example, the following @page rule sets the page box size to 8.5 x = 11=20 inches and creates '2cm' margin on all sides between the page box edge = and the=20 page area:

@page { size 8.5in 11in; margin: 2cm }
The 'marks' property in an @page rule = specifies crop=20 and cross marks for the page box.=20

13.2.1 Page margins

The margin = properties ('margin-top', 'margin-right', 'margin-bottom', 'margin-left', and 'margin') apply within the page = context.=20 The following diagram shows the relationships between the sheet, page = box, and=20 page margins:

3D"Illustration   [D]

The computed value of box margins at the top or bottom of the page = area is=20 '0'.=20

The page=20 context has no notion of fonts, so 'em' and 'ex' units are not = allowed.=20 Percentage values on the margin properties are relative to the = dimensions of the=20 page = box; for=20 left and right margins, they refer to page box width while for top and = bottom=20 margins, they refer to page box height. All other units associated with = the=20 respective CSS2 properties are allowed.=20

Due to negative margin values (either on the page box or on elements) = or = absolute=20 positioning content may end up outside the page box, but this = content may be=20 "cut" -- by the user agent, the printer, or ultimately, the paper = cutter.=20

13.2.2 Page size: the 'size' property

'size'=20
Value:   <length>{1,2} | auto = | portrait=20 | landscape | inherit=20
Initial:   auto=20
Applies to:   the page context=20
Inherited:   N/A=20
Percentages:   N/A=20
Media:   visu= al,=20 paged= =20

This property specifies the size and orientation of a page box.=20

The size of a page box may either be "absolute" (fixed size) or = "relative"=20 (scalable, i.e., fitting available sheet sizes). Relative page boxes = allow user=20 agents to scale a document and make optimal use of the target size.=20

Three values for the 'size' property create a relative page = box:

auto=20
The page box will be set to the size and orientation of the target = sheet.=20
landscape=20
Overrides the target's orientation. The page box is the same size = as the=20 target, and the longer sides are horizontal.=20
portrait=20
Overrides the target's orientation. The page box is the same size = as the=20 target, and the shorter sides are horizontal.

Example(s):

In the following example, the outer edges of the page box will align = with the=20 target. The percentage value on the 'margin' property is relative to the = target=20 size so if the target sheet dimensions are 21.0cm x 29.7cm (i.e., A4), = the=20 margins are 2.10cm and 2.97cm.

@page {
  size: auto;   /* auto is the initial value */
  margin: 10%;
}

Length values for the 'size' property create an absolute page = box. If=20 only one length value is specified, it sets both the width and height of = the=20 page box (i.e., the box is a square). Since the page box is the initial=20 containing block, percentage values are not allowed for the 'size' property.=20

Example(s):

For example:

@page {
  size: 8.5in 11in;  /* width height */
}

The above example set the width of the page box to be 8.5in and the = height to=20 be 11in. The page box in this example requires a target sheet size of = 8.5"x11"=20 or larger.

User agents may allow users to control the transfer of the page box = to the=20 sheet (e.g., rotating an absolute page box that's being printed).=20

Rendering page boxes that do not fit a target = sheet

If a page box does not fit the target sheet dimensions, the user = agent may=20 choose to:

The user agent should consult the user before performing these = operations.=20

Positioning the page box on the sheet

When the page box is smaller than the target size, the user agent is = free to=20 place the page box anywhere on the sheet. However, it is recommended = that the=20 page box be centered on the sheet since this will align double-sided = pages and=20 avoid accidental loss of information that is printed near the edge of = the sheet.=20

13.2.3 Crop marks: the 'marks' property

'marks'=20
Value:   [ crop || cross ] | none | inherit=20
Initial:   none=20
Applies to:   page context=20
Inherited:   N/A=20
Percentages:   N/A=20
Media:   visu= al,=20 paged= =20

In high-quality printing, marks are often added outside the page box. = This=20 property specifies whether cross marks or crop marks or both should be = rendered=20 just outside the page=20 box edge.=20

Crop=20 marks indicate where the page should be cut. Cross = marks (also=20 known as register marks or registration marks) are used to align sheets. =

Marks are visible only on absolute page boxes (see the 'size' property). In relative page = boxes, the=20 page box will be aligned with the target and the marks will be outside = the=20 printable area.=20

The size, style, and position of cross marks depend on the user = agent.=20

13.2.4 Left, right, and first pages

When printing double-sided documents, the page boxes = on left=20 and right pages should be different. This can be expressed through two = CSS=20 pseudo-classes that may be defined in the page = context.=20

All pages are automatically classified by user agents into either the = :left=20 or :right pseudo-class.=20

Example(s):

@page :left {
  margin-left: 4cm;
  margin-right: 3cm;
}

@page :right {
  margin-left: 3cm;
  margin-right: 4cm;
}

If different declarations have been given for left and right pages, = the user=20 agent must honor these declarations even if the user agent does not = transfer the=20 page boxes to left and right sheets (e.g., a printer that only prints=20 single-sided).=20

Authors may also specify style for the first page of a document with = the :first pseudo-class:=20

Example(s):

@page { margin: 2cm } /* All margins set to 2cm */

@page :first {
  margin-top: 10cm    /* Top margin on first page 10cm */
}

Whether the first page of a document is :left or :right depends on = the major=20 writing direction of the document and is outside the scope of this = document.=20 However, to force a :left or :right first page, authors may insert a = page break=20 before the first generated box (e.g., in HTML, specify this for the BODY = element).=20

Properties specified in a :left (or :right) @page rule override those = specified in an @page rule that has no pseudo-class specified. = Properties=20 specified in a :first @page rule override those specified in :left (or = :right)=20 @page rules.=20

Note. Adding declarations to the :left or :right = pseudo-class does not influence whether the document comes out of the = printer=20 double- or single-sided (which is outside the scope of this = specification).=20

Note. Future versions of CSS may include other = page=20 pseudo-classes.

13.2.5 Content outside the page box

When formatting content in the page model, some content may end up = outside=20 the page box. For example, an element whose 'white-space' property has the = value 'pre'=20 may generate a box that is wider than the page box. Also, when boxes are = positioned = absolutely,=20 they may end up in "inconvenient" locations. For example, images may be = placed=20 on the edge of the page box or 100,000 inches below the page box.=20

A specification for the exact formatting of such elements lies = outside the=20 scope of this document. However, we recommend that authors and user = agents=20 observe the following general principles concerning content outside the = page=20 box:

13.3 Page breaks

The following sections explain page formatting in CSS2. Five = properties=20 indicate where the user agent may or should break pages, and on what = page (left=20 or right) the subsequent content should resume. Each page break ends = layout in=20 the current page=20 box and causes remaining pieces of the document = tree to=20 be laid out in a new page box.=20

13.3.1 Break before/after elements: = 'page-break-before', 'page-break-after', 'page-break-inside'

'page-break-before'= =20
Value:   auto | always | avoid | left | right | inherit=20
Initial:   auto=20
Applies to:   block-level elements=20
Inherited:   no=20
Percentages:   N/A=20
Media:   visu= al,=20 paged= =20
'page-break-after'=20
Value:   auto | always | avoid | left | right | inherit=20
Initial:   auto=20
Applies to:   block-level elements=20
Inherited:   no=20
Percentages:   N/A=20
Media:   visu= al,=20 paged= =20
'page-break-inside'= =20
Value:   avoid | auto | inherit=20
Initial:   auto=20
Applies to:   block-level elements=20
Inherited:   yes=20
Percentages:   N/A=20
Media:   visu= al,=20 paged= =20

Values for these properties have the following meanings:

auto=20
Neither force nor forbid a page break before (after, inside) the = generated=20 box.=20
always=20
Always force a page break before (after) the generated box.=20
avoid=20
Avoid a page break before (after, inside) the generated box.=20
left=20
Force one or two page breaks before (after) the generated box so = that the=20 next page is formatted as a left page.=20
right=20
Force one or two page breaks before (after) the generated box so = that the=20 next page is formatted as a right page.

A potential page break location is typically under the influence of = the=20 parent element's 'page-break-inside' = property, the 'page-break-after' property = of the=20 preceding element, and the 'page-break-before' = property of the=20 following element. When these properties have values other than 'auto', = the=20 values 'always', 'left', and 'right' take precedence over 'avoid'. See = the=20 section on allo= wed page=20 breaks for the exact rules on how these properties may force or = suppress a=20 page break.=20

13.3.2 Using named pages: 'page'

'page'=20
Value:   = <identifier> | = auto=20
Initial:   auto=20
Applies to:   block-level elements=20
Inherited:   yes=20
Percentages:   N/A=20
Media:   visu= al,=20 paged= =20

The 'page' property can be used to specify = a=20 particular type of page where an element should be displayed.=20

Example(s):

This example will put all tables on a right-hand side landscape page = (named=20 "rotated"):

@page rotated {size: landscape}
TABLE {page: rotated; page-break-before: right}

The 'page' property works as follows: If a = block box=20 with inline content has a 'page' property that is different from = the=20 preceding block box with inline content, then one or two page breaks are = inserted between them, and the boxes after the break are rendered on a = page box=20 of the named type. See "Forced page = breaks"=20 below.=20

Example(s):

In this example, the two tables are rendered on landscape pages = (indeed, on=20 the same page, if they fit), and the page type "narrow" is not used at = all,=20 despite having been set on the DIV:

@page narrow {size: 9cm =
18cm}
@page rotated {size: landscape}
DIV {page: narrow}
TABLE {page: rotated}
with this document::
<DIV>
<TABLE>...</TABLE>
<TABLE>...</TABLE>
</DIV>

13.3.3 Breaks inside elements: 'orphans', 'widows'

'orphans'=20
Value:   <integer> | inherit=20
Initial:   2=20
Applies to:   block-level elements=20
Inherited:   yes=20
Percentages:   N/A=20
Media:   visu= al,=20 paged= =20
'widows'=20
Value:   <integer> | inherit=20
Initial:   2=20
Applies to:   block-level elements=20
Inherited:   yes=20
Percentages:   N/A=20
Media:   visu= al,=20 paged= =20

The 'orphans' property specifies the = minimum=20 number of lines of a paragraph that must be left at the bottom of a = page. The 'widows' property specifies the = minimum number=20 of lines of a paragraph that must be left at the top of a page. Examples = of how=20 they are used to control page breaks are given below.=20

For information about paragraph formatting, please consult the = section on line = boxes.=20

13.3.4 Allowed page breaks

In the normal flow, page breaks can occur at the following = places:

  1. In the vertical margin between block boxes. When a page break = occurs here,=20 the comput= ed=20 values of the relevant 'margin-top' and 'margin-bottom' properties = are set to=20 '0'.=20
  2. Between line=20 boxes inside a block = box.=20

These breaks are subject to the following rules:=20

If the above doesn't provide enough break points to keep content from = overflowing the page boxes, then rules B and D are dropped in order to = find=20 additional breakpoints.=20

If that still does not lead to sufficient break points, rules A and C = are=20 dropped as well, to find still more break points.=20

Page breaks cannot occur inside boxes that are = absolutely=20 positioned.=20

13.3.5 Forced page breaks

A page break must occur at (1) if, among the 'page-break-after' and 'page-break-before' = properties of=20 all the elements generating boxes that meet at this margin, there is at = least=20 one with the value 'always', 'left', or 'right'.=20

A page break must also occur at (1) if the last line box above this = margin=20 and the first one below it do not have the same value for 'page'.=20

13.3.6 "Best" page breaks

CSS2 does not define which of a set of allowed page breaks = must be=20 used; CSS2 does not forbid a user agent from breaking at every possible = break=20 point, or not to break at all. But CSS2 does recommend that user agents = observe=20 the following heuristics (while recognizing that they are sometimes=20 contradictory):

Example(s):

Suppose, for example, that the style sheet contains 'orphans : 4', = 'widows :=20 2', and there are 20 lines (line = boxes)=20 available at the bottom of the current page:

  • If a paragraph at the end of the current page contains 20 lines or = fewer,=20 it should be placed on the current page.=20
  • If the paragraph contains 21 or 22 lines, the second part of the = paragraph=20 must not violate the 'widows' constraint, and so the = second part=20 must contain exactly two lines=20
  • If the paragraph contains 23 lines or more, the first part should = contain=20 20 lines and the second part the remaining lines.

Now suppose that 'orphans' is '10', 'widows' is '20', and there are 8 = lines=20 available at the bottom of the current page:

  • If a paragraph at the end of the current page contains 8 lines or = fewer,=20 it should be placed on the current page.=20
  • If the paragraph contains 9 lines or more, it cannot be split = (that would=20 violate the orphan constraint), so it should move as a block to the = next page.=20

13.4 Cascading in the page context

Declarations in the page = context=20 obey the cascade just=20 like normal CSS2 declarations.=20

Example(s):

Consider the following example:

@page {
  margin-left: 3cm;
}

@page :left {
  margin-left: 4cm;
}

Due to the highe= r=20 specificity of the pseudo-class selector, the left margin on left = pages will=20 be '4cm' and all other pages (i.e., the right pages) will have a left = margin of=20 '3cm'.


previous =   next   contents =   properties =   index  =20

------=_NextPart_000_0291_01C2C6C4.A41F0060 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.w3.org/TR/REC-CSS2/images/page-info.gif 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 kosWgUx+EQzBdEbAUG7CuIzM2IzqlwAAOw== ------=_NextPart_000_0291_01C2C6C4.A41F0060 Content-Type: text/css; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.w3.org/TR/REC-CSS2/style/default.css BODY { BACKGROUND: white; MARGIN: 2em; COLOR: black; FONT-FAMILY: helvetica, = sans-serif } H1 { TEXT-ALIGN: left } H2 { TEXT-ALIGN: left } H3 { TEXT-ALIGN: left } H4 { TEXT-ALIGN: left } H5 { TEXT-ALIGN: left } H6 { TEXT-ALIGN: left } H1 { CLEAR: left; MARGIN-TOP: 2em; TEXT-ALIGN: center } PRE { FONT-SIZE: 90%; MARGIN-LEFT: 1em; FONT-FAMILY: monospace } ADDRESS { FONT-STYLE: italic; TEXT-ALIGN: right } VAR { FONT-STYLE: normal } IMG { BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: = 0px } .toc { TEXT-INDENT: 0px } P.toc-line { MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em; TEXT-INDENT: 0px } A.noxref:link { COLOR: black } A.noxref:visited { COLOR: black } DIV.example A:link { COLOR: maroon } DIV.example A:visited { COLOR: maroon } DIV.deprecated-html-example A:link { COLOR: red } DIV.deprecated-html-example A:visited { COLOR: red } .note A:link { COLOR: green } .note A:visited { COLOR: green } A.propdef-title { BACKGROUND: yellow } A.descdef-title { BACKGROUND: green; COLOR: yellow } DIV.propdef { MARGIN: 1.2em 0px } DIV.example { COLOR: maroon } PRE.example { COLOR: maroon } PRE.illegal-example { COLOR: red } DIV.illegal-example { COLOR: red } DIV.illegal-example P { COLOR: black } DIV.html-example { COLOR: maroon } PRE.html-example { COLOR: maroon } PRE.illegal-html-example { COLOR: red } DIV.illegal-html-example { COLOR: red } DIV.illegal-html-example P { COLOR: black } PRE.deprecated-html-example { COLOR: red } DIV.deprecated-html-example { COLOR: red } DIV.deprecated-html-example P { COLOR: black } DIV.xml-example { COLOR: maroon } PRE.xml-example { COLOR: maroon } PRE.illegal-xml-example { COLOR: red } DIV.illegal-xml-example { COLOR: red } DIV.illegal-xml-example P { COLOR: black } DIV.dtd-example { COLOR: maroon } PRE.dtd-example { COLOR: maroon } PRE.illegal-dtd-example { COLOR: red } DIV.illegal-dtd-example { COLOR: red } DIV.illegal-dtd-example P { COLOR: black } .note { FONT-WEIGHT: bold; MARGIN: 1em; COLOR: green } .normref { COLOR: red } .informref { COLOR: green } DIV.propdef TH { TEXT-ALIGN: right } DIV.descdef TH { TEXT-ALIGN: right } UL.toc { LIST-STYLE-TYPE: none } OL.toc { LIST-STYLE-TYPE: none } DIV.toc UL UL { MARGIN-LEFT: 0px } DIV.toc OL OL { MARGIN-LEFT: 0px } DIV.toc UL UL UL { MARGIN-LEFT: 1em } DIV.toc OL OL OL { MARGIN-LEFT: 1em } DIV.toc UL UL UL UL { MARGIN-LEFT: 0px } DIV.toc OL OL OL OL { MARGIN-LEFT: 0px } LI.tocline1 { FONT-WEIGHT: bold } LI.tocline2 { FONT-WEIGHT: normal } LI.tocline4 { FONT-STYLE: italic } UL.index { LIST-STYLE-TYPE: none } S { COLOR: red; TEXT-DECORATION: line-through } DEL { COLOR: red; TEXT-DECORATION: line-through } U { BACKGROUND: #bfa; TEXT-DECORATION: underline } INS { BACKGROUND: #bfa; TEXT-DECORATION: underline } DIV.figure { MARGIN: 2.5em 0px; TEXT-ALIGN: center } P.caption { FONT-WEIGHT: bold; FONT-SIZE: 90%; MARGIN: 1.5em 25% 0px; COLOR: #088; = FONT-STYLE: italic; TEXT-ALIGN: center } CAPTION { FONT-WEIGHT: bold; FONT-SIZE: 90%; MARGIN: 1.5em 25% 0px; COLOR: #088; = FONT-STYLE: italic; TEXT-ALIGN: center } DIV.toc { TEXT-ALIGN: left } UL.index { TEXT-ALIGN: left } DT { TEXT-ALIGN: left } SUP { FONT-SIZE: 80%; VERTICAL-ALIGN: super } ------=_NextPart_000_0291_01C2C6C4.A41F0060--