Stylus Studio XML Editor

Table of contents

Appendices

7.29 Shorthand Properties

Shorthand Properties

The following properties are all shorthand properties. Shorthands are only included in the highest XSL conformance level: "complete" (see [conform] ).

Shorthand properties take a list of subproperty values or the value "inherit". One cannot mix 'inherit' with other subproperty values as it would not be possible to specify the subproperty to which "inherit" applied.

background[top]

"background"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop[<background-color> || <background-image> || <background-repeat> || <background-attachment> || <background-position> ]] | inherit
11lefttopInitial: 11lefttopnot defined for shorthand properties
11lefttopApplies to: 11lefttopall elements
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttopallowed on 'background-position'
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "background" property ] http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background

The "background" property is a shorthand property for setting the individual background properties (i.e., background-color, background-image, background-repeat, background-attachment and background-position) at the same place in the stylesheet.

The "background" property first sets all the individual background properties to their initial values, then assigns explicit values given in the declaration.

background-position[top]

"background-position"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop[ [<percentage> | <length> ]{1,2} | [ [top | center | bottom] || [left | center | right] ] ] | inherit
11lefttopInitial: 11lefttop0% 0%
11lefttopApplies to: 11lefttopblock-level and replaced elements
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttoprefer to the size of the box itself
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "background-position" property ] http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-position

If a "background-image" has been specified, this property specifies its initial position.

<percentage> <percentage>

With a value pair of 0% 0%, the upper left corner of the image is aligned with the upper left corner of the box's padding edge. A value pair of 100% 100% places the lower right corner of the image in the lower right corner of padding area. With a value pair of 14% 84%, the point 14% across and 84% down the image is to be placed at the point 14% across and 84% down the padding area.

<length> <length>

With a value pair of 2cm 2cm, the upper left corner of the image is placed 2cm to the right and 2cm below the upper left corner of the padding area.

top left and left top

Same as 0% 0%.

top, top center, and center top

Same as 50% 0%.

right top and top right

Same as 100% 0%.

left, left center, and center left

Same as 0% 50%.

center and center center

Same as 50% 50%.

right, right center, and center right

Same as 100% 50%.

bottom left and left bottom

Same as 0% 100%.

bottom, bottom center, and center bottom

Same as 50% 100%.

bottom right and right bottom

Same as 100% 100%.

If only one percentage or length value is given, it sets the horizontal position only, the vertical position will be 50%. If two values are given, the horizontal position comes first. Combinations of length and percentage values are allowed, (e.g., 50% 2cm). Negative positions are allowed. Keywords cannot be combined with percentage values or length values (all possible combinations are given above).

If the background image is fixed within the viewport (see the "background-attachment" property), the image is placed relative to the viewport instead of the elements padding area.

XSL modifications to the CSS definition:

The CSS property shall be treated as a shorthand by XSL and maps as follows:

<percentage>

background-position-horizontal="<percentage>"

background-position-vertical="50%"

<percentage1> <percentage2>

background-position-horizontal="<percentage1>"

background-position-vertical="<percentage2>"

<length>

background-position-horizontal="<length>"

background-position-vertical="50%"

<length1> <length2>

background-position-horizontal="<length1>"

background-position-vertical="<length2>"

<length> <percentage>

background-position-horizontal="<length>"

background-position-vertical="<percentage>"

<percentage> <length>

background-position-horizontal="<percentage>"

background-position-vertical="<length>"

top left and left top

background-position-horizontal="0%"

background-position-vertical="0%"

top, top center, and center top

background-position-horizontal="50%"

background-position-vertical="0%"

right top and top right

background-position-horizontal="100%"

background-position-vertical="0%"

left, left center, and center left

background-position-horizontal="0%"

background-position-vertical="50%"

center and center center

background-position-horizontal="50%"

background-position-vertical="50%"

right, right center, and center right

background-position-horizontal="100%"

background-position-vertical="50%"

bottom left and left bottom

background-position-horizontal="0%"

background-position-vertical="100%"

bottom, bottom center, and center bottom

background-position-horizontal="50%"

background-position-vertical="100%"

bottom right and right bottom

background-position-horizontal="100%"

background-position-vertical="100%"

border[top]

"border"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop[ <border-width> || <border-style> || <color> ] | inherit
11lefttopInitial: 11lefttopsee individual properties
11lefttopApplies to: 11lefttopall elements
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "border" property ] http://www.w3.org/TR/REC-CSS2/box.html#propdef-border

The "border" property is a shorthand property for setting the same width, color, and style for all four borders, top, bottom, left, and right, of a box. Unlike the shorthand "margin" and "padding" properties, the "border" property cannot set different values on the four borders. To do so, one or more of the other border properties must be used.

XSL modifications to the CSS definition:

Refer to [refine-border-padding] for information on the precedence order of properties.

border-bottom[top]

"border-bottom"

CSS2 Definition: as amended by [http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10]

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop[ <border-width> || <border-style> || <color> ] | inherit
11lefttopInitial: 11lefttopsee individual properties
11lefttopApplies to: 11lefttopall elements
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "border-bottom" property ] http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-bottom

A shorthand property for setting the width, style, and color of the bottom border of a block-area or inline-area.

border-color[top]

"border-color"

CSS2 Definition: as amended by [http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x35]

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop[ <color> | transparent ]{1,4} | inherit
11lefttopInitial: 11lefttopsee individual properties
11lefttopApplies to: 11lefttopall elements
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "border-color" property ] http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-color

The 'border-color' property sets the color of the four borders. Values have the following meanings:

transparent

The border is transparent (though it may have width).

<color>

Any valid color specification.

The "border-color" property can have from one to four values, and the values are set on the different sides as for "border-width".

If an element's border color is not specified with a "border" property, user agents must use the value of the element's "color" property as the computed value for the border color.

XSL modifications to the CSS definition:

See the 'border-width' property for a description of how this property is interpreted when one through four values are provided.

border-left[top]

"border-left"

CSS2 Definition: as amended by [http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10]

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop[ <border-width> || <border-style> || <color> ] | inherit
11lefttopInitial: 11lefttopsee individual properties
11lefttopApplies to: 11lefttopall elements
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "border-left" property ] http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-left

A shorthand property for setting the width, style, and color of the left border of a block-area or inline-area.

border-right[top]

"border-right"

CSS2 Definition: as amended by [http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10]

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop[ <border-width> || <border-style> || <color> ] | inherit
11lefttopInitial: 11lefttopsee individual properties
11lefttopApplies to: 11lefttopall elements
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "border-right" property ] http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-right

A shorthand property for setting the width, style, and color of the right border of a block-area or inline-area.

border-style[top]

"border-style"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop<border-style>{1,4} | inherit
11lefttopInitial: 11lefttopsee individual properties
11lefttopApplies to: 11lefttopall elements
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "border-style" property ] http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-style

The "border-style" property sets the style of the four borders.

It can have from one to four values, and the values are set on the different sides.

XSL modifications to the CSS definition:

See the 'border-width' property for a description of how this property is interpreted when one through four values are provided.

border-spacing[top]

"border-spacing"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop<length> <length>? | inherit
11lefttopInitial: 11lefttop0pt
11lefttopApplies to: 11lefttoptable
11lefttopInherited: 11lefttopyes
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "border-spacing" property ] http://www.w3.org/TR/REC-CSS2/tables.html#propdef-border-spacing

<length>

The lengths specify the distance that separates adjacent cell borders. If one length is specified, it gives both the horizontal and vertical spacing. If two are specified, the first gives the horizontal spacing and the second the vertical spacing. Lengths may not be negative.

In the separate borders model, each cell has an individual border. The "border-spacing" property specifies the distance between the borders of adjacent cells. This space is filled with the background of the table element. Rows, columns, row groups, and column groups cannot have borders (i.e., user agents must ignore the border properties for those elements).

XSL modifications to the CSS definition:

The CSS property shall be treated as a shorthand by XSL and maps as follows:

If one value is specified the "border-separation.block-progression-direction" and "border-separation.inline-progression-direction" are both set to that value.

If two values are specified the "border-separation.block-progression-direction" is set to the second value and "border-separation.inline-progression-direction" are both set to the first value.

border-top[top]

"border-top"

CSS2 Definition: as amended by [http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10]

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop[ <border-width> || <border-style> || <color> ] | inherit
11lefttopInitial: 11lefttopsee individual properties
11lefttopApplies to: 11lefttopall elements
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "border-top" property ] http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-top

A shorthand property for setting the width, style, and color of the top border of a block-area or inline-area.

border-width[top]

"border-width"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop<border-width>{1,4} | inherit
11lefttopInitial: 11lefttopsee individual properties
11lefttopApplies to: 11lefttopall elements
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "border-width" property ] http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-width

This property is a shorthand property for setting "border-top-width", "border-right-width", "border-bottom-width", and "border-left-width" at the same place in the stylesheet.

If there is only one value, it applies to all sides. If there are two values, the top and bottom borders are set to the first value and the right and left are set to the second. If there are three values, the top is set to the first value, the left and right are set to the second, and the bottom is set to the third. If there are four values, they apply to the top, right, bottom, and left, respectively.

cue[top]

"cue"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop<cue-before> || <cue-after> | inherit
11lefttopInitial: 11lefttopnot defined for shorthand properties
11lefttopApplies to: 11lefttopall elements
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopaural

CSS2 Reference: [ "cue" property ] http://www.w3.org/TR/REC-CSS2/aural.html#propdef-cue

font[top]

"font"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop[ [ <font-style> || <font-variant> || <font-weight> ]? <font-size> [ / <line-height>]? <font-family> ] | caption | icon | menu | message-box | small-caption | status-bar | inherit
11lefttopInitial: 11lefttopsee individual properties
11lefttopApplies to: 11lefttopall elements
11lefttopInherited: 11lefttopyes
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "font" property ] http://www.w3.org/TR/REC-CSS2/fonts.html#propdef-font

The "font" property is, except as described below, a shorthand property for setting "font-style", "font-variant", "font-weight", "font-size", "line-height", and "font-family", at the same place in the stylesheet. The syntax of this property is based on a traditional typographical shorthand notation to set multiple properties related to fonts.

All font-related properties are first reset to their initial values, including those listed in the preceding paragraph plus "font-stretch" and "font-size-adjust". Then, those properties that are given explicit values in the "font" shorthand are set to those values. For a definition of allowed and initial values, see the previously defined properties. For reasons of backward compatibility, it is not possible to set "font-stretch" and "font-size-adjust" to other than their initial values using the "font" shorthand property; instead, set the individual properties.

The following [first six] values refer to system fonts:

caption

The font used for captioned controls (e.g., buttons, drop-downs, etc.).

icon

The font used to label icons.

menu

The font used in menus (e.g., dropdown menus and menu lists).

message-box

The font used in dialog boxes.

small-caption

The font used for labeling small controls.

status-bar

The font used in window status bars.

System fonts may only be set as a whole; that is, the "font-family", "size", "weight", "style", etc. are all set at the same time. These values may then be altered individually if desired. If no font with the indicated characteristics exists on a given platform, the user agent should either intelligently substitute (e.g., a smaller version of the "caption" font might be used for the "small-caption" font), or substitute a user agent default font. As for regular fonts, if, for a system font, any of the individual properties are not part of the operating system's available user preferences, those properties should be set to their initial values.

That is why this property is "almost" a shorthand property: system fonts can only be specified with this property, not with "font-family" itself, so "font" allows authors to do more than the sum of its sub-properties. However, the individual properties such as "font-weight" are still given values taken from the system font, which can be independently varied.

XSL modifications to the CSS definition:

In XSL the "font" property is a pure shorthand property. System font characteristics, such as font-family, and font-size, may be obtained by the use of the "system-font" function in the expression language.

margin[top]

"margin"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop<margin-width>{1,4} | inherit
11lefttopInitial: 11lefttopnot defined for shorthand properties
11lefttopApplies to: 11lefttopall elements
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttoprefer to width of containing block
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "margin" property ] http://www.w3.org/TR/REC-CSS2/box.html#propdef-margin

A shorthand property for setting margin-top, margin-right, margin-bottom, and margin-left of a block-area or inline-area.

If there is only one value, it applies to all sides. If there are two values, the top and bottom margins are set to the first value and the right and left margins are set to the second. If there are three values, the top is set to the first value, the left and right are set to the second, and the bottom is set to the third. If there are four values, they apply to the top, right, bottom, and left, respectively.

XSL modifications to the CSS definition:

  • Margin is provided for compatibility with CSS.

  • Details on the mapping of CSS "margin" properties for XSL are given in [refinement] .

padding[top]

"padding"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop<padding-width>{1,4} | inherit
11lefttopInitial: 11lefttopnot defined for shorthand properties
11lefttopApplies to: 11lefttopall elements
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttoprefer to width of containing block
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "padding" property ] http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding

A shorthand property for setting padding-top, padding-bottom, padding-left, and padding-right of a block-area or inline-area.

If there is only one value, it applies to all sides. If there are two values, the top and bottom paddings are set to the first value and the right and left paddings are set to the second. If there are three values, the top is set to the first value, the left and right are set to the second, and the bottom is set to the third. If there are four values, they apply to the top, right, bottom, and left, respectively.

The surface color or image of the padding area is specified via the "background" property.

page-break-after[top]

"page-break-after"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttopauto | always | avoid | left | right | inherit
11lefttopInitial: 11lefttopauto
11lefttopApplies to: 11lefttopblock-level elements, list-item, and table-row.
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "page-break-after" property ] http://www.w3.org/TR/REC-CSS2/page.html#propdef-page-break-after

Values for these properties have the following meanings:

auto

Neither force nor forbid a page break before (after, inside) the generated box.

always

Always force a page break before (after) the generated box.

avoid

Avoid a page break before (after, inside) the generated box.

left

Force one or two page breaks before (after) the generated box so that the next page is formatted as a left page.

right

Force one or two page breaks before (after) the generated box so that the next page is formatted as a right page.

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

XSL modifications to the CSS definition:

The CSS property shall be treated as a shorthand by XSL and maps as follows:

auto

break-after = "auto"

keep-with-next = "auto"

always

break-after = "page"

keep-with-next = "auto"

avoid

break-after = "auto"

keep-with-next = "always"

left

break-after = "even-page"

keep-with-next = "auto"

right

break-after = "odd-page"

keep-with-next = "auto"

page-break-before[top]

"page-break-before"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttopauto | always | avoid | left | right | inherit
11lefttopInitial: 11lefttopauto
11lefttopApplies to: 11lefttopblock-level elements, list-item, and table-row.
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "page-break-before" property ] http://www.w3.org/TR/REC-CSS2/page.html#propdef-page-break-before

Values for these properties have the following meanings:

auto

Neither force nor forbid a page break before (after, inside) the generated box.

always

Always force a page break before (after) the generated box.

avoid

Avoid a page break before (after, inside) the generated box.

left

Force one or two page breaks before (after) the generated box so that the next page is formatted as a left page.

right

Force one or two page breaks before (after) the generated box so that the next page is formatted as a right page.

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

XSL modifications to the CSS definition:

The CSS property shall be treated as a shorthand by XSL and maps as follows:

auto

break-before = "auto"

keep-with-previous = "auto"

always

break-before = "page"

keep-with-previous = "auto"

avoid

break-before = "auto"

keep-with-previous = "always"

left

break-before = "even-page"

keep-with-previous = "auto"

right

break-before = "odd-page"

keep-with-previous = "auto"

page-break-inside[top]

"page-break-inside"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttopavoid | auto | inherit
11lefttopInitial: 11lefttopauto
11lefttopApplies to: 11lefttopblock-level elements
11lefttopInherited: 11lefttopyes
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "page-break-inside" property ] http://www.w3.org/TR/REC-CSS2/page.html#propdef-page-break-inside

NOTE: 

The CSS definition for page-break-inside was shared with the definitions of page-break-before and page-break-after. The text here has been edited to include only the value choices valid for page-break-inside and to remove the before/after/inside triplet.

Values for this property have the following meanings:

auto

Neither force nor forbid a page break inside the generated box.

avoid

Avoid a page break inside the generated box.

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

XSL modifications to the CSS definition:

XSL treats this as a shorthand and maps it as follows.

auto

keep-together = "auto"

avoid

keep-together = "always"

pause[top]

"pause"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop[<time> | <percentage>]{1,2} | inherit
11lefttopInitial: 11lefttopdepends on user agent
11lefttopApplies to: 11lefttopall elements
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttopsee descriptions of 'pause-before' and 'pause-after'
11lefttopMedia: 11lefttopaural

CSS2 Reference: [ "pause" property ] http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pause

position[top]

"position"

CSS2 Definition: as amended by [http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x11]

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttopstatic | relative | absolute | fixed | inherit
11lefttopInitial: 11lefttopstatic
11lefttopApplies to: 11lefttopall elements, but not to generated content
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "position" property ] http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-position

Values have the following meanings:

static

The box is a normal box, laid out according to the normal flow. The "top", "right", "bottom", and "left" properties do not apply.

relative

The box's position is calculated according to the normal flow (this is called the position in normal flow). Then the box is offset relative to its normal position. When a box B is relatively positioned, the position of the following box is calculated as though B were not offset.

absolute

The box's position (and possibly size) is specified with the "left", "right", "top", and "bottom" properties. These properties specify offsets with respect to the box's containing block. Absolutely positioned boxes are taken out of the normal flow. This means they have no impact on the layout of later siblings. Also, though absolutely positioned boxes have margins, they do not collapse with any other margins.

fixed

The box's position is calculated according to the "absolute" model, but in addition, the box is fixed with respect to some reference. In the case of continuous media, the box is fixed with respect to the viewport (and doesn't move when scrolled). In the case of paged media, the box is fixed with respect to the page, even if that page is seen through a viewport (in the case of a print-preview, for example). Authors may wish to specify "fixed" in a media-dependent way. For instance, an author may want a box to remain at the top the viewport on the screen, but not at the top of each printed page.

Specifies the positioning scheme to be used.

XSL modifications to the CSS definition:

The CSS property shall be treated as a shorthand by XSL and maps as follows:

static

relative-position="static"

absolute-position="auto"

relative

relative-position="relative"

absolute-position="auto"

absolute

relative-position="static"

absolute-position="absolute"

fixed

relative-position="static"

absolute-position="fixed"

size[top]

"size"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop<length>{1,2} | auto | landscape | portrait | inherit
11lefttopInitial: 11lefttopauto
11lefttopApplies to: 11lefttopthe page context
11lefttopInherited: 11lefttopN/A [XSL:no, is optional]
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "size" property ] http://www.w3.org/TR/REC-CSS2/page.html#propdef-size

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

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

[The first] Three values for the 'size' property create a relative page box:

auto

The page box will be set to the size and orientation of the target sheet.

landscape

Overrides the target's orientation. The page box is the same size as the target, and the longer sides are horizontal.

portrait

Overrides the target's orientation. The page box is the same size as the target, and the shorter sides are horizontal.

<length>

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

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

  • 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 choose to:

    • Rotate the page box 90 degrees if this will make the page box fit.

    • Scale the page to fit the target.

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

  • Positioning the page box on the sheet

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

XSL modifications to the CSS definition:

This is treated as a CSS shorthand property that is mapped to XSL's "page-height" and "page-width" properties.

vertical-align[top]

"vertical-align"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttopbaseline | middle | sub | super | text-top | text-bottom | <percentage> | <length> | top | bottom | inherit
11lefttopInitial: 11lefttopbaseline
11lefttopApplies to: 11lefttopinline-level and 'table-cell' elements
11lefttopInherited: 11lefttopno
11lefttopPercentages: 11lefttoprefer to the 'line-height' of the element itself
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "vertical-align" property ] http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-vertical-align

This property affects the vertical positioning inside a line box of the boxes generated by an inline-level element. The following values only have meaning with respect to a parent inline-level element, or to a parent block-level element, if that element generates anonymous inline boxes; they have no effect if no such parent exists.

NOTE: 

Values of this property have slightly different meanings in the context of tables. Please consult the section on table height algorithms for details.

Values have the following meanings:

baseline

Align the baseline of the box with the baseline of the parent box. If the box doesn't have a baseline, align the bottom of the box with the parent's baseline.

middle

Align the vertical midpoint of the box with the baseline of the parent box plus half the x-height of the parent.

sub

Lower the baseline of the box to the proper position for subscripts of the parent's box. (This value has no effect on the font size of the element's text.)

super

Raise the baseline of the box to the proper position for superscripts of the parent's box. (This value has no effect on the font size of the element's text.)

text-top

Align the top of the box with the top of the parent element's font.

text-bottom

Align the bottom of the box with the bottom of the parent element's font.

top

Align the top of the box with the top of the line box.

bottom

Align the bottom of the box with the bottom of the line box.

<percentage>

Raise (positive value) or lower (negative value) the box by this distance (a percentage of the "line-height" value). The value "0%" means the same as "baseline".

<length>

Raise (positive value) or lower (negative value) the box by this distance. The value "0cm" means the same as "baseline".

NOTE: 

Values of this property have slightly different meanings in the context of tables. Please consult the section on table height algorithms for details.

XSL modifications to the CSS definition:

The CSS property shall be treated as a shorthand by XSL and maps as follows:

baseline

alignment-baseline="baseline"

alignment-adjust="auto"

baseline-shift="baseline"

dominant-baseline="auto"

top

alignment-baseline="before-edge"

alignment-adjust="auto"

baseline-shift="baseline"

dominant-baseline="auto"

text-top

alignment-baseline="text-before-edge"

alignment-adjust="auto"

baseline-shift="baseline"

dominant-baseline="auto"

middle

alignment-baseline="middle"

alignment-adjust="auto"

baseline-shift="baseline"

dominant-baseline="auto"

bottom

alignment-baseline="after-edge"

alignment-adjust="auto"

baseline-shift="baseline"

dominant-baseline="auto"

text-bottom

alignment-baseline="text-after-edge"

alignment-adjust="auto"

baseline-shift="baseline"

dominant-baseline="auto"

sub

alignment-baseline="baseline"

alignment-adjust="auto"

baseline-shift="sub"

dominant-baseline="auto"

super

alignment-baseline="baseline"

alignment-adjust="auto"

baseline-shift="super"

dominant-baseline="auto"

<percentage>

alignment-baseline="baseline"

alignment-adjust="<percentage>"

baseline-shift="baseline"

dominant-baseline="auto"

<length>

alignment-baseline="baseline"

alignment-adjust="<length>"

baseline-shift="baseline"

dominant-baseline="auto"

white-space[top]

"white-space"

CSS2 Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttopnormal | pre | nowrap | inherit
11lefttopInitial: 11lefttopnormal
11lefttopApplies to: 11lefttopblock-level elements
11lefttopInherited: 11lefttopyes
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

CSS2 Reference: [ "white-space" property ] http://www.w3.org/TR/REC-CSS2/text.html#propdef-white-space

This property declares how whitespace inside the element is handled. Values have the following meanings:

normal

This value directs user agents to collapse sequences of whitespace, and break lines as necessary to fill line boxes. Additional line breaks may be created by occurrences of "\A" in generated content (e.g., for the BR element in HTML).

pre

This value prevents user agents from collapsing sequences of whitespace. Lines are only broken at newlines in the source, or at occurrences of "\A" in generated content.

nowrap

This value collapses whitespace as for 'normal', but suppresses line breaks within text except for those created by "\A" in generated content (e.g., for the BR element in HTML).

Conforming user agents may ignore the 'white-space' property in author and user style sheets but must specify a value for it in the default style sheet.

XSL modifications to the CSS definition:

XSL splits control of white space collapsing, space and linefeed handling, and wrapping into separate properties.

The CSS property shall be treated as a shorthand by XSL and maps as follows:

normal

linefeed-treatment="treat-as-space"

white-space-collapse="true"

white-space-treatment="ignore-if-surrounding-linefeed"

wrap-option="wrap"

pre

linefeed-treatment="preserve"

white-space-collapse="false"

white-space-treatment="preserve"

wrap-option="no-wrap"

nowrap

linefeed-treatment="treat-as-space"

white-space-collapse="true"

white-space-treatment="ignore-if-surrounding-linefeed"

wrap-option="no-wrap"

xml:lang[top]

"xml:lang"

XSL Definition:

0prop-summary lefttoplefttoplefttoplefttoplefttoplefttop
11lefttopValue: 11lefttop<country-language> | inherit
11lefttopInitial: 11lefttopnot defined for shorthand properties
11lefttopApplies to: 11lefttopsee prose
11lefttopInherited: 11lefttopyes
11lefttopPercentages: 11lefttopN/A
11lefttopMedia: 11lefttopvisual

Values have the following meanings:

<string>

A language and/or country specifier in conformance with [RFC3066] .

Specifies the language and country to be used by the formatter in linguistic services (such as hyphenation) and in the determination of line breaks. This affects line composition in a system-dependent way.

The string may be any RFC 3066 code.

XSL treats xml:lang as a shorthand and uses it to set the country and language properties.

NOTE: 

In general, linguistic services (line-justification strategy, line-breaking and hyphenation) may depend on a combination of the "language", "script", and "country" properties.