Previous |
Table of Contents |
Bottom |
Next |
The following sections describe the properties of the XSL formatting objects.
A number of properties are copied from the CSS2 specification. In addition, the CSS2 errata all apply. See [CSS2].
The first eight sets of property definitions have been arranged into groups based on similar functionality and the fact that they apply to many formatting objects. In the formatting object descriptions the group name is referred to rather than referring to the individual properties.
Common Absolute Position Properties
This set of properties controls the position and size of formatted areas with absolute positioning.
Common Aural Properties
This group of properties controls the aural rendition of the content of a formatting object. They appear on all formatting objects that contain content and other formatting objects that group other formatting objects and where that grouping is necessary for the understanding of the aural rendition. An example of the latter is fo:table-and-caption.
Common Border, Padding, and Background Properties
This set of properties controls the backgrounds and borders on the block-areas and inline-areas.
Common Font Properties
This set of properties controls the font selection on all formatting objects that can contain text.
Common Hyphenation Properties
Control of hyphenation for line-breaking, including language, script, and country.
Common Margin Properties-Block
These properties set the spacing and indents surrounding block-level formatting objects.
Common Margin Properties-Inline
These properties set the spacing surrounding inline-level formatting objects.
The remaining properties are used on a number of formatting objects. These are arranged into clusters of similar functionality to organize the property descriptions. In the formatting object description the individual properties are referenced.
Area Alignment Properties
Properties that control the alignment of inline-areas with respect to each other, particularly in relation to the mixing of different baselines for different scripts. In addition, there are two properties: "display-align" and "relative-align" that control the placement of block-areas.
Area Dimension Properties
Properties that control the dimensions of both block-areas and inline-areas.
Block and Line-related Properties
Properties that govern the construction of line-areas and the placement of these line-areas within containing block-areas.
Character Properties
Properties that govern the presentation of text, including word-spacing, letter-spacing, and word-space treatment and suppression.
Color-related Properties
Properties that govern color and color-model selection.
Float-related properties
Properties governing the placement of both side-floats (start- and end-floats) and before-floats ("top" floats in "lr-tb" writing-mode).
Keeps and Breaks Properties
Properties that control keeps and breaks across pages, columns, and lines, including widow and orphan control and keeping content together.
Layout-related Properties
These properties control what is "top" ("reference-orientation") as well as clipping, overflow, and column-spanning conditions.
Leader and Rule Properties
Properties governing the construction of leaders and horizontal rules.
Properties for Links
Properties governing the presentation and actions associated with links.
Properties for Markers
Properties governing the creation and retrieval of markers. Markers are used typically for "dictionary" headers and footers.
Properties for Number to String Conversions
Properties used in the construction of page-numbers and other formatter-based numbering.
Pagination and Layout Properties
These properties govern the sequencing, layout, and instantiation of pages, including: the page size and orientation, sizes of regions on the page-master, the identification and selection of page-masters, division of the body region into columns, and the assignment of content flows to layout regions.
Table Properties
Properties governing the layout and presentation of tables.
Writing-mode-related Properties
Properties related to various aspects of "directionality" and writing-mode influencing block-progression-direction and inline-progression-direction.
Miscellaneous Properties
These properties did not reasonably fit into any of the other categories.
Shorthand Properties
Shorthand properties that are part of the complete conformance set. Shorthands expand to the individual properties that may be used in place of shorthands.
This section describes how to interpret property descriptions which incorporate the CSS2 definition of the same property. In CSS2, "boxes" are generated by "elements" in the same way that XSL areas are generated by formatting objects. Any references in the CSS2 definition to "boxes" are to be taken as referring to "areas" in the XSL area model, and where "element" appears in a CSS2 definition it should be taken to refer to a "formatting object".
The position and size of a box are normally taken to refer to the position and size of the area's content-rectangle. Additional correspondences between the CSS2 Box Model and the XSL Area Model are contained in the following table.
Box | Area |
top content edge | top edge of the content-rectangle |
padding edge | padding-rectangle |
content area | interior of the content-rectangle |
padding area | region between the content-rectangle and the padding-rectangle |
border area | region between the padding-rectangle and the border-rectangle |
background | background |
containing block | closest ancestor block-area |
caption | area generated by fo:table-caption |
inline box | inline-area |
line box | line-area |
block box | block-area which is not a line-area |
page box | page-area |
Box margins map to area traits in accordance with the description of how area traits are computed from property values in[5 Property Refinement / Resolution].
XSL Definition:
Value: | <uri>+ | none | inherit |
Initial: | none |
Applies to: | see prose |
Inherited: | no |
Percentages: | N/A |
Media: | all |
Values have the following meanings:
The source document is transient, unknown, or unspecified.
A list of space-separated URIs, indicating the XML document(s) used as input to the stylesheet.
This property provides a pointer back to the original XML document(s) used to create this formatting object tree. It is useful for alternate renderers (aural readers, etc.) whenever the structure of the formatting object tree is inappropriate for that renderer.
XSL Definition:
Value: | <string> | none | inherit |
Initial: | none |
Applies to: | see prose |
Inherited: | no |
Percentages: | N/A |
Media: | all |
It is used by all formatting objects that can be contained in fo:flow or fo:static-content (all formatting objects that can be directly created from an XML source element).
Values have the following meanings:
Indicates that no semantic tag is cited by this formatting object.
The value is a string representing a semantic that may be used in rendering this formatting object. It can, for example, be an element name in some known semantic vocabulary, such as HTML, or a particular Web Accessibility Initiative (WAI) semantic vocabulary.
This provides a hint for alternate renderers (aural readers, etc.) as to the role and potential alternate presentation of the content of this formatting object.
This property is not inherited, but all subsidiary nodes of this formatting object that do not bear a role property should utilize the same alternate presentation properties. (It is not inherited because knowledge of the start and end of the formatting object subtree generated by the element may be needed by the renderer.)
Property Derived from a CSS2 Property.
Value: | auto | absolute | fixed | inherit |
Initial: | auto |
Applies to: | fo:block-container |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
There is no absolute-positioning constraint. Positioning is in accordance with the relative-position property.
The area's position (and possibly size) is specified with the "left", "right", "top", and "bottom" properties. These properties specify offsets with respect to the area's containing area. Absolutely positioned areas are taken out of the normal flow. This means they have no impact on the layout of later siblings. Also, though absolutely positioned areas have margins, they do not collapse with any other margins.
The area's position is calculated according to the "absolute" model, but in addition, the area is fixed with respect to some reference. In the case of continuous media, the area is fixed with respect to the viewport (and doesn't move when scrolled). In the case of paged media, the area 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 an area to remain at the top the viewport on the screen, but not at the top of each printed page.
The following additional restrictions apply for paged presentations:
Only objects with absolute-position="auto" may have page/column breaks.
For other values any keep and break properties are ignored.
The area generated is a descendant of the page-area where the first area from the object would have been placed had the object had absolute-posiiton="auto" specified.
CSS2 Definition:
Value: | <length> | <percentage> | auto | inherit |
Initial: | auto |
Applies to: | positioned elements |
Inherited: | no |
Percentages: | refer to height of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-top.
The "top" property specifies how far a box's top content edge is offset below the top edge of the box's containing block.
XSL modifications to the CSS definition:
See definition of property left ([7.4.5 "left"]).
CSS2 Definition:
Value: | <length> | <percentage> | auto | inherit |
Initial: | auto |
Applies to: | positioned elements |
Inherited: | no |
Percentages: | refer to height of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-right.
The "right" property specifies how far a box's right content edge is offset to the left of the right edge of the box's containing block.
XSL modifications to the CSS definition:
See definition of property left ([7.4.5 "left"]).
CSS2 Definition:
Value: | <length> | <percentage> | auto | inherit |
Initial: | auto |
Applies to: | positioned elements |
Inherited: | no |
Percentages: | refer to height of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-bottom.
The "bottom" property specifies how far a box's bottom content edge is offset above the bottom of the box's containing block.
XSL modifications to the CSS definition:
See definition of property left ([7.4.5 "left"]).
CSS2 Definition:
Value: | <length> | <percentage> | auto | inherit |
Initial: | auto |
Applies to: | positioned elements |
Inherited: | no |
Percentages: | refer to height of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-left.
The "left" property specifies how far a box's left content edge is offset to the right of the left edge of the box's containing block.
The values of the four (position offset) properties have the following meanings:
The effect of this value depends on which of related properties have the value "auto" as well. See the sections on the width and height of absolutely positioned, non-replaced elements for details.
The offset is a fixed distance from the reference edge.
The offset is a percentage of the containing block's width (for "left" or "right") or "height" (for "top" and "bottom"). For "top" and "bottom", if the "height" of the containing block is not specified explicitly (i.e., it depends on content height), the percentage value is interpreted like "auto".
For absolutely positioned boxes, the offsets are with respect to the box's containing block. For relatively positioned boxes, the offsets are with respect to the outer edges of the box itself (i.e., the box is given a position in the normal flow, then offset from that position according to these properties).
XSL modifications to the CSS definition:
These properties set the position of the content-rectangle of the associated area.
If both "top" and "bottom" are specified, the height of the content-rectangle is overridden. If both "left" and "right" are specified, the width of the content-rectangle is overridden.
CSS2 Definition:
Value: | <angle> | [[ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards | inherit |
Initial: | center |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-azimuth.
CSS2 Definition:
Value: | <uri> | none | inherit |
Initial: | none |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-cue-after.
CSS2 Definition:
Value: | <uri> | none | inherit |
Initial: | none |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-cue-before.
CSS2 Definition:
Value: | <angle> | below | level | above | higher | lower | inherit |
Initial: | level |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-elevation.
CSS2 Definition:
Value: | <time> | <percentage> | inherit |
Initial: | depends on user agent |
Applies to: | all elements |
Inherited: | no |
Percentages: | see prose |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pause-after.
CSS2 Definition:
Value: | <time> | <percentage> | inherit |
Initial: | depends on user agent |
Applies to: | all elements |
Inherited: | no |
Percentages: | see prose |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pause-before.
CSS2 Definition:
Value: | <frequency> | x-low | low | medium | high | x-high | inherit |
Initial: | medium |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pitch.
CSS2 Definition:
Value: | <number> | inherit |
Initial: | 50 |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pitch-range.
CSS2 Definition:
Value: | <uri> mix? repeat? | auto | none | inherit |
Initial: | auto |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-play-during.
CSS2 Definition:
Value: | <number> | inherit |
Initial: | 50 |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-richness.
CSS2 Definition:
Value: | normal | none | spell-out | inherit |
Initial: | normal |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speak.
CSS2 Definition:
Value: | once | always | inherit |
Initial: | once |
Applies to: | elements that have table header information |
Inherited: | yes |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/tables.html#propdef-speak-header.
CSS2 Definition:
Value: | digits | continuous | inherit |
Initial: | continuous |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speak-numeral.
CSS2 Definition:
Value: | code | none | inherit |
Initial: | none |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speak-punctuation.
CSS2 Definition:
Value: | <number> | x-slow | slow | medium | fast | x-fast | faster | slower | inherit |
Initial: | medium |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speech-rate.
CSS2 Definition:
Value: | <number> | inherit |
Initial: | 50 |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-stress.
CSS2 Definition:
Value: | [[<specific-voice> | <generic-voice> ],]* [<specific-voice> | <generic-voice> ] | inherit |
Initial: | depends on user agent |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-voice-family.
CSS2 Definition:
Value: | <number> | <percentage> | silent | x-soft | soft | medium | loud | x-loud | inherit |
Initial: | medium |
Applies to: | all elements |
Inherited: | yes |
Percentages: | refer to inherited value |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-volume.
The following common-border-padding-and-background-properties are taken from CSS2. Those "border", "padding", and "background" properties that have a before, after, start, or end suffix are writing-mode relative and are XSL-only properties.
CSS2 Definition:
Value: | scroll | fixed | inherit |
Initial: | scroll |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-attachment.
The background-image may scroll with the enclosing object.
The background-image is to be fixed within the viewable area of the enclosing object.
If a background-image is specified, this property specifies whether it is fixed with regard to the viewport (fixed) or scrolls along with the document (scroll).
Even if the image is fixed, it is still only visible when it is in the background or padding area of the element. Thus, unless the image is tiled ("background-repeat: repeat"), it may be invisible.
User agents may treat fixed as scroll. However, it is recommended they interpret fixed correctly, at least for the HTML and BODY elements, since there is no way for an author to provide an image only for those browsers that support fixed. See the section on conformance for details.
XSL modifications to the CSS definition:
The last paragraph in the CSS description does not apply.
CSS2 Definition:
Value: | <color> | transparent | inherit |
Initial: | transparent |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-color.
This property sets the background color of an element, either a <color> value or the keyword transparent, to make the underlying colors shine through.
The underlying colors will shine through.
Any valid color specification.
XSL modifications to the CSS definition:
XSL adds an "icc-color" function as a valid value of this property.
CSS2 Definition:
Value: | <uri> | none | inherit |
Initial: | none |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-image.
This property sets the background image of an element. When setting a "background-image", authors should also specify a background-color that will be used when the image is unavailable. When the image is available, it is rendered on top of the background color. (Thus, the color is visible in the transparent parts of the image).
Values for this property are either <uri>, to specify the image, or "none", when no image is used.
No image is specified.
CSS2 Definition:
Value: | repeat | repeat-x | repeat-y | no-repeat | inherit |
Initial: | repeat |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-repeat.
If a background image is specified, this property specifies whether the image is repeated (tiled), and how. All tiling covers the content and padding areas of a box. Values have the following meanings:
The image is repeated both horizontally and vertically.
The image is repeated horizontally only.
The image is repeated vertically only.
The image is not repeated: only one copy of the image is drawn.
XSL modifications to the CSS definition:
"Horizontal" and "vertical" are defined relative to the reference-orientation; "horizontal" is "left" to "right", and "vertical" is "top" to "bottom".
NOTE:Thus for a rotated area the tiling is also rotated. It is, however, independent of the writing-mode.
Property Derived from a CSS2 Property.
Value: | <percentage> | <length> | left | center | right | inherit |
Initial: | 0% |
Applies to: | all formatting objects to which background applies |
Inherited: | no |
Percentages: | refer to the size of the padding-rectangle |
Media: | visual |
If a "background-image" has been specified, this property specifies its initial position horizontally.
Specifies that a point, at the given percentage across the image from left-to-right, shall be placed at a point at the given percentage across, from left-to-right, the area's padding-rectangle.
NOTE:For example with a value of 0%, the left-edge of the image is aligned with the left-edge of the area's padding-rectangle. A value of 100% places the right-edge of the image aligned with the right-edge of the padding-rectangle. With a value of 14%, a point 14% across the image is to be placed at a point 14% across the padding-rectangle.
Specifies that the left-edge of the image shall be placed at the specified length to the right of the left-edge of the padding-rectangle.
NOTE:For example with a value of 2cm, the left-edge of the image is placed 2cm to the right of the left-edge of the padding-rectangle.
Same as 0%.
Same as 50%.
Same as 100%.
Property Derived from a CSS2 Property.
Value: | <percentage> | <length> | top | center | bottom | inherit |
Initial: | 0% |
Applies to: | all formatting objects to which background applies |
Inherited: | no |
Percentages: | refer to the size of the padding-rectangle |
Media: | visual |
If a "background-image" has been specified, this property specifies its initial position vertically.
Specifies that a point, at the given percentage down the image from top-to-bottom, shall be placed at a point at the given percentage down, from top-to-bottom, the area's padding-rectangle.
NOTE:For example with a value of 0%, the top-edge of the image is aligned with the top-edge of the area's padding-rectangle. A value of 100% places the bottom-edge of the image aligned with the bottom-edge of the padding-rectangle. With a value of 84%, a point 84% down the image is to be placed at a point 84% down the padding-rectangle.
Specifies that the top-edge of the image shall be placed at the specified length below the top-edge of the padding-rectangle.
NOTE:For example with a value of 2cm, the top-edge of the image is placed 2cm below the top-edge of the padding-rectangle.
Same as 0%.
Same as 50%.
Same as 100%.
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <color> | inherit |
Initial: | the value of the 'color' property |
Applies to: | see prose |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Specifies the color of the border on the before-edge of a block-area or inline-area.
See definition of property border-top-color ([7.6.19 "border-top-color"]).
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <border-style> | inherit |
Initial: | none |
Applies to: | see prose |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Specifies the border-style for the before-edge.
See definition of property border-top-style ([7.6.20 "border-top-style"]).
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <border-width> | <length-conditional> | inherit |
Initial: | medium |
Applies to: | see prose |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Specifies the border-width for the before-edge.
See definition of property border-top-width ([7.6.21 "border-top-width"]).
XSL modifications to the CSS definition:
The following value type has been added for XSL:
A compound value specifying the width and any conditionality of the border for the before-edge.
The .length component is a <length>. The .conditionality component may be set to "discard" or "retain" to control if the border should be 0 or retained if it's associated edge is a leading-edge in a reference-area for areas generated from this formatting object that have an is-first value of "false". See [4.3 Spaces and Conditionality] for further details. The initial value of the .conditionality component is "retain".
NOTE:If the border-style is "none" the computed value of the width is forced to "0pt".
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <color> | inherit |
Initial: | the value of the 'color' property |
Applies to: | see prose |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Specifies the color of the border on the after-edge of a block-area or inline-area.
See definition of property border-top-color ([7.6.19 "border-top-color"]).
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <border-style> | inherit |
Initial: | none |
Applies to: | see prose |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Specifies the border-style for the after-edge.
See definition of property border-top-style ([7.6.20 "border-top-style"]).
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <border-width> | <length-conditional> | inherit |
Initial: | medium |
Applies to: | see prose |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Specifies the border-width for the after-edge.
See definition of property border-top-width ([7.6.21 "border-top-width"]).
XSL modifications to the CSS definition:
The following value type has been added for XSL:
A compound value specifying the width and any conditionality of the border for the after-edge.
The .length component is a <length>. The .conditionality component may be set to "discard" or "retain" to control if the border should be 0 or retained if it's associated edge is a trailing-edge in a reference-area for areas generated from this formatting object that have an is-last value of "false". See [4.3 Spaces and Conditionality] for further details. The initial value of the .conditionality component is "retain".
NOTE:If the border-style is "none" the computed value of the width is forced to "0pt".
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <color> | inherit |
Initial: | the value of the 'color' property |
Applies to: | see prose |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Specifies the color of the border on the start-edge of a block-area or inline-area.
See definition of property border-top-color ([7.6.19 "border-top-color"]).
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <border-style> | inherit |
Initial: | none |
Applies to: | see prose |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Specifies the border-style for the start-edge.
See definition of property border-top-style ([7.6.20 "border-top-style"]).
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <border-width> | inherit |
Initial: | medium |
Applies to: | see prose |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Specifies the border-width for the start-edge.
NOTE:If the border-style is "none" the computed value of the width is forced to "0pt".
See definition of property border-top-width ([7.6.21 "border-top-width"]).
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <color> | inherit |
Initial: | the value of the 'color' property |
Applies to: | see prose |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Specifies the color of the border on the end-edge of a block-area or inline-area.
See definition of property border-top-color ([7.6.19 "border-top-color"]).
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <border-style> | inherit |
Initial: | none |
Applies to: | see prose |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Specifies the border-style for the end-edge.
See definition of property border-top-style ([7.6.20 "border-top-style"]).
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <border-width> | inherit |
Initial: | medium |
Applies to: | see prose |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Specifies the border-width for the end-edge.
NOTE:If the border-style is "none" the computed value of the width is forced to "0pt".
See definition of property border-top-width ([7.6.21 "border-top-width"]).
CSS2 Definition:
Value: | <color> | inherit |
Initial: | the value of the 'color' property |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-top-color.
The 'border-color' property sets the color of the four borders. Values have the following meanings:
Any valid color specification.
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.
CSS2 Definition:
Value: | <border-style> | inherit |
Initial: | none |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-top-style.
The border style properties specify the line style of a box's border (solid, double, dashed, etc.).
The properties defined in this section refer to the <border-style> value type, which may take one of the following:
No border. This value forces the computed value of 'border-width' to be '0'.
Same as 'none', except in terms of border conflict resolution for table elements.
The border is a series of dots.
The border is a series of short line segments.
The border is a single line segment.
The border is two solid lines. The sum of the two lines and the space between them equals the value of 'border-width'.
The border looks as though it were carved into the canvas.
The opposite of 'groove': the border looks as though it were coming out of the canvas.
The border makes the entire box look as though it were embedded in the canvas.
The opposite of 'inset': the border makes the entire box look as though it were coming out of the canvas.
All borders are drawn on top of the box's background. The color of borders drawn for values of 'groove', 'ridge', 'inset', and 'outset' depends on the element's 'color' property.
Conforming HTML user agents may interpret 'dotted', 'dashed', 'double', 'groove', 'ridge', 'inset', and 'outset' to be 'solid'.
CSS2 Definition:
Value: | <border-width> | inherit |
Initial: | medium |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-top-width.
The border width properties specify the width of the border area. The properties defined in this section refer to the <border-width> value type, which may take one of the following values:
A thin border.
A medium border.
A thick border.
The border's thickness has an explicit value. Explicit border widths cannot be negative.
The interpretation of the first three values depends on the user agent. The following relationships must hold, however:
'thin' <='medium' <= 'thick'.
Furthermore, these widths must be constant throughout a document.
CSS2 Definition:
Value: | <color> | inherit |
Initial: | the value of the 'color' property |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-bottom-color.
Specifies the border color for the bottom-edge.
See definition of property border-top-color ([7.6.19 "border-top-color"]).
CSS2 Definition:
Value: | <border-style> | inherit |
Initial: | none |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-bottom-style.
Specifies the border style for the bottom-edge.
See definition of property border-top-style ([7.6.20 "border-top-style"]).
CSS2 Definition:
Value: | <border-width> | inherit |
Initial: | medium |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-bottom-width.
Specifies the border width for the bottom-edge.
See definition of property border-top-width ([7.6.21 "border-top-width"]).
CSS2 Definition:
Value: | <color> | inherit |
Initial: | the value of the 'color' property |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-left-color.
Specifies the border color for the left-edge.
See definition of property border-top-color ([7.6.19 "border-top-color"]).
CSS2 Definition:
Value: | <border-style> | inherit |
Initial: | none |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-left-style.
Specifies the border style for the left-edge.
See definition of property border-top-style ([7.6.20 "border-top-style"]).
CSS2 Definition:
Value: | <border-width> | inherit |
Initial: | medium |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-left-width.
Specifies the border width for the left-edge.
See definition of property border-top-width ([7.6.21 "border-top-width"]).
CSS2 Definition:
Value: | <color> | inherit |
Initial: | the value of the 'color' property |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-right-color.
Specifies the border color for the right-edge.
See definition of property border-top-color ([7.6.19 "border-top-color"]).
CSS2 Definition:
Value: | <border-style> | inherit |
Initial: | none |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-right-style.
Specifies the border style for the right-edge.
See definition of property border-top-style ([7.6.20 "border-top-style"]).
CSS2 Definition:
Value: | <border-width> | inherit |
Initial: | medium |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-right-width.
Specifies the border width for the right-edge.
See definition of property border-top-width ([7.6.21 "border-top-width"]).
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <padding-width> | <length-conditional> | inherit |
Initial: | 0pt |
Applies to: | see prose |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
Specifies the width of the padding on the before-edge of a block-area or inline-area.
See definition of property padding-top ([7.6.35 "padding-top"]).
XSL modifications to the CSS definition:
The following value type has been added for XSL:
A compound value specifying the width and any conditionality of the padding for the before-edge.
The .length component is a <length>. The .conditionality component may be set to "discard" or "retain" to control if the padding should be 0 or retained if it's associated edge is a leading-edge in a reference-area for areas generated from this formatting object that have an is-first value of "false". See [4.3 Spaces and Conditionality] for further details. The initial value of the .conditionality component is "retain".
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <padding-width> | <length-conditional> | inherit |
Initial: | 0pt |
Applies to: | see prose |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
Specifies the width of the padding on the after-edge of a block-area or inline-area.
See definition of property padding-top ([7.6.35 "padding-top"]).
XSL modifications to the CSS definition:
The following value type has been added for XSL:
A compound value specifying the width and any conditionality of the padding for the after-edge.
The .length component is a <length>. The .conditionality component may be set to "discard" or "retain" to control if the padding should be 0 or retained if it's associated edge is a trailing-edge in a reference-area for areas generated from this formatting object that have an is-last value of "false". See [4.3 Spaces and Conditionality] for further details. The initial value of the .conditionality component is "retain".
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <padding-width> | inherit |
Initial: | 0pt |
Applies to: | see prose |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
Specifies the width of the padding on the start-edge of a block-area or inline-area.
See definition of property padding-top ([7.6.35 "padding-top"]).
Writing-mode Relative Equivalent of CSS2 Property.
Value: | <padding-width> | inherit |
Initial: | 0pt |
Applies to: | see prose |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
Specifies the width of the padding on the end-edge of a block-area or inline-area.
See definition of property padding-top ([7.6.35 "padding-top"]).
CSS2 Definition:
Value: | <padding-width> | inherit |
Initial: | 0pt |
Applies to: | all elements |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-top.
Specifies the width of the padding on the top-edge of a block-area or inline-area.
CSS2 Definition:
Value: | <padding-width> | inherit |
Initial: | 0pt |
Applies to: | all elements |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-bottom.
Specifies the width of the padding on the bottom-edge of a block-area or inline-area.
See definition of property padding-top ([7.6.35 "padding-top"]).
CSS2 Definition:
Value: | <padding-width> | inherit |
Initial: | 0pt |
Applies to: | all elements |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-left.
Specifies the width of the padding on the left-edge of a block-area or inline-area.
See definition of property padding-top ([7.6.35 "padding-top"]).
CSS2 Definition:
Value: | <padding-width> | inherit |
Initial: | 0pt |
Applies to: | all elements |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-right.
Specifies the width of the padding on the right-edge of a block-area or inline-area.
See definition of property padding-top ([7.6.35 "padding-top"]).
The following common-font-properties all are taken from CSS2. The reference to CSS2 is: http://www.w3.org/TR/REC-CSS2/fonts.html
NOTE:Although these properties reference the individual properties in the CSS specification, it is recommended that you read the entire font section of the CSS2 specification.
CSS2 Definition:
Value: | [[ <family-name> | <generic-family> ],]* [<family-name> | <generic-family>] | inherit |
Initial: | depends on user agent |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/fonts.html#propdef-font-family.
This property specifies a prioritized list of font family names and/or generic family names. To deal with the problem that a single font may not contain glyphs to display all the characters in a document, or that not all fonts are available on all systems, this property allows authors to specify a list of fonts, all of the same style and size, that are tried in sequence to see if they contain a glyph for a certain character. This list is called a font set.
The generic font family will be used if one or more of the other fonts in a font set is unavailable. Although many fonts provide the "missing character" glyph, typically an open box, as its name implies this should not be considered a match except for the last font in a font set.
There are two types of font family names:
The name of a font-family of choice. In the previous example, "Baskerville", "Heisi Mincho W3", and "Symbol" are font families. Font family names containing whitespace should be quoted. If quoting is omitted, any whitespace characters before and after the font name are ignored and any sequence of whitespace characters inside the font name is converted to a single space.
The following generic families are defined: "serif", "sans-serif", "cursive", "fantasy", and "monospace". Please see the section on generic font families for descriptions of these families. Generic font family names are keywords, and therefore must not be quoted.
XSL modifications to the CSS definition:
The names are syntactically expressed as strings.
NOTE:See the expression language for a two-argument "system-font" function that returns a characteristic of a system-font. This may be used, instead of the "font" shorthand, to specify the name of a system-font.
CSS2 Definition:
Value: | <absolute-size> | <relative-size> | <length> | <percentage> | inherit |
Initial: | medium |
Applies to: | all elements |
Inherited: | yes, the computed value is inherited |
Percentages: | refer to parent element's font size |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/fonts.html#propdef-font-size.
This property describes the size of the font when set solid. Values have the following meanings:
An <absolute-size> keyword refers to an entry in a table of font sizes computed and kept by the user agent. Possible values are:
[ xx-small | x-small | small | medium | large | x-large | xx-large ]
On a computer screen a scaling factor of 1.2 is suggested between adjacent indexes; if the "medium" font is 12pt, the "large" font could be 14.4pt. Different media may need different scaling factors. Also, the user agent should take the quality and availability of fonts into account when computing the table. The table may be different from one font family to another. Note. In CSS1, the suggested scaling factor between adjacent indexes was 1.5 which user experience proved to be too large.
A <relative-size> keyword is interpreted relative to the table of font sizes and the font size of the parent element. Possible values are:
[ larger | smaller ]
For example, if the parent element has a font size of "medium", a value of "larger" will make the font size of the current element be "large". If the parent element's size is not close to a table entry, the user agent is free to interpolate between table entries or round off to the closest one. The user agent may have to extrapolate table values if the numerical value goes beyond the keywords.
A length value specifies an absolute font size (that is independent of the user agent's font table). Negative lengths are illegal.
A percentage value specifies an absolute font size relative to the parent element's font size. Use of percentage values, or values in "em's", leads to more robust and cascadable stylesheets.
The actual value of this property may differ from the computed value due a numerical value on 'font-size-adjust' and the unavailability of certain font sizes.
Child elements inherit the computed 'font-size' value (otherwise, the effect of 'font-size-adjust' would compound).
CSS2 Definition:
Value: | normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded |inherit |
Initial: | normal |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/fonts.html#font-styling.
The 'font-stretch' property selects a normal, condensed, or extended face from a font family.
Absolute keyword values have the following ordering, from narrowest to widest :
ultra-condensed
extra-condensed
condensed
semi-condensed
normal
semi-expanded
expanded
extra-expanded
ultra-expanded
The relative keyword "wider" sets the value to the next expanded value above the inherited value (while not increasing it above "ultra-expanded").
The relative keyword "narrower" sets the value to the next condensed value below the inherited value (while not decreasing it below "ultra-condensed").
CSS2 Definition:
Value: | <number> | none | inherit |
Initial: | none |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/fonts.html#font-size-props.
In bicameral scripts, the subjective apparent size and legibility of a font are less dependent on their 'font-size' value than on the value of their 'x-height', or, more usefully, on the ratio of these two values, called the aspect value (font size divided by x-height). The higher the aspect value, the more likely it is that a font at smaller sizes will be legible. Inversely, faces with a lower aspect value will become illegible more rapidly below a given threshold size than faces with a higher aspect value. Straightforward font substitution that relies on font size alone may lead to illegible characters.
For example, the popular font Verdana has an aspect value of 0.58; when Verdana's font size 100 units, its x-height is 58 units. For comparison, Times New Roman has an aspect value of 0.46. Verdana will therefore tend to remain legible at smaller sizes than Times New Roman. Conversely, Verdana will often look 'too big' if substituted for Times New Roman at a chosen size.
This property allows authors to specify an aspect value for an element that will preserve the x-height of the first choice font in the substitute font. Values have the following meanings:
Do not preserve the font's x-height.
Specifies the aspect value. The number refers to the aspect value of the first choice font. The scaling factor for available fonts is computed according to the following formula:
y(a/a') = c
where:
y="font-size" of first-choice font
a' = aspect value of available font
c="font-size" to apply to available font
This property allows authors to specify an aspect value for an element that will preserve the x-height of the first choice font in the substitute font.
Font size adjustments take place when computing the actual value of "font-size". Since inheritance is based on the computed value, child elements will inherit unadjusted values.
CSS2 Definition:
Value: | normal | italic | oblique | backslant | inherit |
Initial: | normal |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/fonts.html#font-styling.
The "font-style" property requests normal (sometimes referred to as "roman" or "upright"), italic, and oblique faces within a font family. Values have the following meanings:
Specifies a font that is classified as "normal" in the UA's font database.
Specifies a font that is classified as "oblique" in the UA's font database. Fonts with Oblique, Slanted, or Incline in their names will typically be labeled "oblique" in the font database. A font that is labeled "oblique" in the UA's font database may actually have been generated by electronically slanting a normal font.
Specifies a font that is classified as "italic" in the UA's font database, or, if that is not available, one labeled 'oblique'. Fonts with Italic, Cursive, or Kursiv in their names will typically be labeled "italic".
XSL modifications to the CSS definition:
The following value type has been added for XSL:
Specifies a font that is classified as "backslant" in the UA's font database.
CSS2 Definition:
Value: | normal | small-caps | inherit |
Initial: | normal |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/fonts.html#font-styling.
In a small-caps font, the glyphs for lowercase letters look similar to the uppercase ones, but in a smaller size and with slightly different proportions. The "font-variant" property requests such a font for bicameral (having two cases, as with Roman script). This property has no visible effect for scripts that are unicameral (having only one case, as with most of the world's writing systems). Values have the following meanings:
Specifies a font that is not labeled as a small-caps font.
Specifies a font that is labeled as a small-caps font. If a genuine small-caps font is not available, user agents should simulate a small-caps font, for example by taking a normal font and replacing the lowercase letters by scaled uppercase characters. As a last resort, unscaled uppercase letter glyphs in a normal font may replace glyphs in a small-caps font so that the text appears in all uppercase letters.
Insofar as this property causes text to be transformed to uppercase, the same considerations as for "text-transform" apply.
CSS2 Definition:
Value: | normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit |
Initial: | normal |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/fonts.html#font-styling.
The "font-weight" property specifies the weight of the font.
Same as "400".
Same as "700".
Specifies the next weight that is assigned to a font that is darker than the inherited one. If there is no such weight, it simply results in the next darker numerical value (and the font remains unchanged), unless the inherited value was "900", in which case the resulting weight is also "900".
Specifies the next weight that is assigned to a font that is lighter than the inherited one. If there is no such weight, it simply results in the next lighter numerical value (and the font remains unchanged), unless the inherited value was "100", in which case the resulting weight is also "100".
These values form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor.
Child elements inherit the computed value of the weight.
XSL Definition:
Value: | none | <country> | inherit |
Initial: | none |
Applies to: | fo:block, fo:character |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Indicates the country is unknown or is not significant to the proper formatting of this object.
A country-specifier in conformance with [RFC1766].
Specifies the country to be used by the formatter in language-/locale-coupled services, such as line-justification strategy, line-breaking, and hyphenation.
NOTE:This may affect line composition in a system-dependent way.
The country may be the country component of any RFC 1766 code (these are derived from ISO 3166).
XSL Definition:
Value: | none | <language> | inherit |
Initial: | none |
Applies to: | fo:block, fo:character |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Indicates the language is unknown or is not significant to the proper formatting of this object.
A language-specifier in conformance with [RFC1766].
Specifies the language to be used by the formatter in language-/locale-coupled services, such as line-justification strategy, line-breaking, and hyphenation.
NOTE:This may affect line composition in a system-dependent way.
The language may be the language component of any RFC 1766 code (these are derived from the ISO 639 language codes).
XSL Definition:
Value: | none | auto | <script> | inherit |
Initial: | auto |
Applies to: | fo:block, fo:character |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Indicates that the script is determined using codepoint ranges in the text of the document.
NOTE:This provides the automatic differentiation between Kanji, Katakana, Hiragana, and Romanji used in JIS-4051 and similar services in some other countries/languages.
Indicates the script is unknown or is not significant to the proper formatting of this object.
A script specifier in conformance with [ISO15924].
Specifies the script to be used by the formatter in language-/locale-coupled services, such as line-justification strategy, line-breaking, and hyphenation.
NOTE:This may affect line composition in a system-dependent way.
The script may be any ISO 15924 script code.
XSL Definition:
Value: | false | true | inherit |
Initial: | false |
Applies to: | fo:block, fo:character |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Hyphenation may not be used in the line-breaking algorithm for the text contained in this object.
Hyphenation may be used in the line-breaking algorithm for the text contained in this object.
Specifies whether hyphenation is allowed during line-breaking when the formatter is formatting this formatting object.
XSL Definition:
Value: | <character> | inherit |
Initial: | The unicode hyphen character u+2010 |
Applies to: | fo:block, fo:character |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Specifies the Unicode character to be presented when a hyphenation break occurs. The styling properties of this character are those inherited from its containing flow object.
XSL Definition:
Value: | <number> | inherit |
Initial: | 2 |
Applies to: | fo:block, fo:character |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
If a negative or non-integer value is specified, it will be rounded to the nearest integer greater than zero.
The hyphenation-push-character-count is a positive integer specifying the minimum number of characters in a hyphenated word after the hyphenation character. This is the minimum number of characters in the word pushed to the next line after the line ending with the hyphenation character.
XSL Definition:
Value: | <number> | inherit |
Initial: | 2 |
Applies to: | fo:block, fo:character |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
If a negative or non-integer value is specified, it will be rounded to the nearest integer greater than zero.
The hyphenation-remain-character-count is a positive integer specifying the minimum number of characters in a hyphenated word before the hyphenation character. This is the minimum number of characters in the word left on the line ending with the hyphenation character.
CSS2 Definition:
Value: | <margin-width> | inherit |
Initial: | 0 |
Applies to: | all elements |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-margin-top.
Margin-width may be one of the following:
See the CSS2 section on computing widths and margins for behavior.
Specifies a fixed width.
The percentage is calculated with respect to the width of the generated box's containing block. This is true for 'margin-top' and 'margin-bottom', except in the page context, where percentages refer to page box height.
Negative values for margin properties are allowed, but there may be implementation-specific limits.
Sets the top margin of a box.
XSL modifications to the CSS definition:
Margin-top is provided for compatibility with CSS.
Details on the mapping of CSS "margin" properties for XSL are given in [5 Property Refinement / Resolution].
CSS2 Definition:
Value: | <margin-width> | inherit |
Initial: | 0 |
Applies to: | all elements |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-margin-bottom.
Margin-width may be one of the following:
See the CSS2 section on computing widths and margins for behavior.
Specifies a fixed width.
The percentage is calculated with respect to the width of the generated box's containing block. This is true for 'margin-top' and 'margin-bottom', except in the page context, where percentages refer to page box height.
Negative values for margin properties are allowed, but there may be implementation-specific limits.
Sets the bottom margin of a box.
XSL modifications to the CSS definition:
Margin-bottom is provided for compatibility with CSS.
Details on the mapping of CSS "margin" properties for XSL are given in [5 Property Refinement / Resolution].
CSS2 Definition:
Value: | <margin-width> | inherit |
Initial: | 0pt |
Applies to: | all elements |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-margin-left.
Margin-width may be one of the following:
See the CSS2 section on computing widths and margins for behavior.
Specifies a fixed width.
The percentage is calculated with respect to the width of the generated box's containing block. This is true for 'margin-top' and 'margin-bottom', except in the page context, where percentages refer to page box height.
Negative values for margin properties are allowed, but there may be implementation-specific limits.
Sets the left margin of a box.
XSL modifications to the CSS definition:
Margin-left is provided for compatibility with CSS.
Details on the mapping of CSS "margin" properties for XSL are given in [5 Property Refinement / Resolution].
CSS2 Definition:
Value: | <margin-width> | inherit |
Initial: | 0pt |
Applies to: | all elements |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/box.html#propdef-margin-right.
Margin-width may be one of the following:
See the CSS2 section on computing widths and margins for behavior.
Specifies a fixed width.
The percentage is calculated with respect to the width of the generated box's containing block. This is true for 'margin-top' and 'margin-bottom', except in the page context, where percentages refer to page box height.
Negative values for margin properties are allowed, but there may be implementation-specific limits.
Sets the right margin of a box.
XSL modifications to the CSS definition:
Margin-right is provided for compatibility with CSS.
Details on the mapping of CSS "margin" properties for XSL are given in [5 Property Refinement / Resolution].
XSL Definition:
Value: | <space> | inherit |
Initial: | space.minimum=0pt, .optimum=0pt, .maximum=0pt, .conditionality=discard, .precedence=0 |
Applies to: | all block-level formatting objects |
Inherited: | no |
Percentages: | N/A (Differs from margin-top in CSS) |
Media: | visual |
Values have the following meanings:
Specifies the minimum, optimum, and maximum values for the space before any areas generated by this formatting object and the conditionality and precedence of this space.
Specifies the value of the space-specifier for the space before the areas generated by this formatting object. A definition of space-specifiers, and the interaction between space-specifiers occurring in sequence are given in [4.3 Spaces and Conditionality].
NOTE:A common example of such a sequence is the "space-after" on one area and the "space-before" of its next sibling.
XSL Definition:
Value: | <space> | inherit |
Initial: | space.minimum=0pt, .optimum=0pt, .maximum=0pt, .conditionality=discard, .precedence=0 |
Applies to: | all block-level formatting objects |
Inherited: | no |
Percentages: | N/A (Differs from margin-bottom in CSS) |
Media: | visual |
Values have the following meanings:
Specifies the minimum, optimum, and maximum values for the space after any areas generated by this formatting object and the conditionality and precedence of this space.
Specifies the value of the space-specifier for the space after the areas generated by this formatting object. A definition of space-specifiers, and the interaction between space-specifiers occurring in sequence are given in [4.3 Spaces and Conditionality].
NOTE:A common example of such a sequence is the "space-after" on one area and the "space-before" of its next sibling.
XSL Definition:
Value: | <length> | inherit |
Initial: | 0pt |
Applies to: | all block-level formatting objects |
Inherited: | yes |
Percentages: | refer to width of containing reference-area |
Media: | visual |
Values have the following meanings:
For each block-area generated by this formatting object, specifies the distance from the start-edge of the content-rectangle of the containing reference-area to the start-edge of the content-rectangle of that block-area.
This property may have a negative value, which indicates an outdent.
XSL Definition:
Value: | <length> | inherit |
Initial: | 0pt |
Applies to: | all block-level formatting objects |
Inherited: | yes |
Percentages: | refer to width of containing reference-area |
Media: | visual |
Values have the following meanings:
For each block-area generated by this formatting object, specifies the distance from the end-edge of the content-rectangle of that block-area to the end-edge of the content-rectangle of the containing reference-area.
This property may have a negative value, which indicates an outdent.
This group also includes all the properties in the common-margin-properties-block group except space-before, space-after, start-indent, and end-indent.
XSL Definition:
Value: | <space> | inherit |
Initial: | space.minimum=0pt, .optimum=0pt, .maximum=0pt, .conditionality=discard, .precedence=0 |
Applies to: | all inline-level formatting objects |
Inherited: | no |
Percentages: | refer to the width of the containing area |
Media: | visual |
Values have the following meanings:
Specifies the minimum, optimum, and maximum values for the space after any areas generated by this formatting object and the conditionality and precedence of this space.
Specifies the value of the space-specifier for the space after the areas generated by this formatting object. A definition of space-specifiers, and the interaction between space-specifiers occurring in sequence are given in [4.3 Spaces and Conditionality].
NOTE:A common example of such a sequence is the "space-end" on one area and the "space-start" of its next sibling.
XSL Definition:
Value: | <space> | inherit |
Initial: | space.minimum=0pt, .optimum=0pt, .maximum=0pt, .conditionality=discard, .precedence=0 |
Applies to: | all inline-level formatting objects |
Inherited: | no |
Percentages: | refer to the width of the containing area |
Media: | visual |
Values have the following meanings:
Specifies the minimum, optimum, and maximum values for the space before any areas generated by this formatting object and the conditionality and precedence of this space.
Specifies the value of the space-specifier for the space before the areas generated by this formatting object. A definition of space-specifiers, and the interaction between space-specifiers occurring in sequence are given in [4.3 Spaces and Conditionality].
NOTE:A common example of such a sequence is the "space-end" on one area and the "space-start" of its next sibling.
XSL Definition:
Value: | auto | <percentage> | <length> | inherit |
Initial: | auto |
Applies to: | all inline formatting objects |
Inherited: | no |
Percentages: | see prose |
Media: | visual |
The "alignment-adjust" property allows more precise alignment of elements, such as graphics, that do not have a baseline-table or lack the desired baseline in their baseline-table. With the "alignment-adjust" property, the position of the baseline identified by the "baseline-identifier" can be explicitly determined.
Values for the property have the following meaning:
For a glyph, the alignment-point is the intersection of the start-edge of the allocation-rectangle of the glyph-area and the baseline identified by the "baseline-identifier" property if this baseline exists in the font from which the glyph comes. For other inline-areas, the alignment-point is at the intersection of the start-edge of the border-rectangle and the baseline identified by the "baseline-identifier" property if this baseline exists in the baseline-table for the dominant-baseline for the inline-area. If the baseline-identifier does not exist in the baseline-table for the glyph or other inline-area, then the User Agent may either use heuristics to determine where that missing baseline would be or may use the dominant-baseline as a fallback. For areas generated by a fo:external-graphic, or fo:instream-foreign-object, the alignment point is at the intersection of the start-edge and after-edge of the allocation-rectangle of the area.
The computed value of the property is this percentage multiplied by the area's computed "height" if the area is generated by an fo:external-graphic or fo:instream-foreign-object, the "font-size" if the area was generated by an fo:character, and the "line-height" otherwise. The alignment-point is on the start-edge of the allocation-rectangle of the area being aligned. Its position along the start-edge relative to the intersection of the dominant-baseline and the start-edge is offset by the computed value. The offset is opposite to the shift-direction if that value is positive and in the shift-direction if that value is negative value). A value of "0%" makes the dominant-baseline the alignment point.
The alignment-point is on the start-edge of the allocation-rectangle of the area being aligned. Its position along the start-edge relative to the intersection of the dominant-baseline and the start-edge is offset by <length> value. The offset is opposite to the shift-direction if that value is positive and in the shift-direction if that value is negative. A value of "0cm" makes the dominant-baseline the alignment point.
XSL Definition:
Value: | baseline | before-edge | text-before-edge | middle | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | inherit |
Initial: | see prose |
Applies to: | all inline formatting objects |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
This property specifies how an object is aligned with respect to its parent. It also determines a default alignment point for the object, which may be adjusted by other properties.
The initial value of the "baseline-identifier" property depends on the kind of object on which it is being used. For fo:character, the initial value is the dominant-baseline of the script to which the character belongs. If there is no unambigous script identifier then the initial value is the dominant-baseline of the parent area. For all other objects, the initial value is "baseline".
For the values below, the alignment-point defaults to the baseline with the same name as the value. That is, for the value "ideographic" the alignment-point is the "ideographic" baseline of the object being aligned.
NOTE:See [7.11.1 "alignment-adjust"] for a description of how the alignment point is determined.
Values have the following meanings:
The alignment-point of the object being aligned is aligned with the dominant-baseline of the parent area.
The alignment-point of the object being aligned is aligned with the "before-edge" baseline of the parent area.
The alignment-point of the object being aligned is aligned with the "text-before-edge" baseline of the parent area.
The alignment-point of the object being aligned is aligned with the "middle" baseline of the parent area.
The alignment-point of the object being aligned is aligned with the "after-edge" baseline of the parent area.
The alignment-point of the object being aligned is aligned with the "text-after-edge" baseline of the parent area.
The alignment-point of the object being aligned is aligned with the "ideographic" baseline of the parent area.
The alignment-point of the object being aligned is aligned with the "alphabetic" baseline of the parent area.
The alignment-point of the object being aligned is aligned with the "hanging" baseline of the parent area.
The alignment-point of the object being aligned is aligned with the "mathematical" baseline of the parent area.
XSL Definition:
Value: | baseline | sub | super | <percentage> | <length> | inherit |
Initial: | baseline |
Applies to: | all inline formatting objects |
Inherited: | no |
Percentages: | refers to the "line-height" of the parent area |
Media: | visual |
The "baseline-shift" property allows repositioning of the dominant-baseline relative to the dominant-baseline of the parent area. The shifted object might be a sub- or superscript. Within the shifted object, the whole baseline-table is offset; not just a single baseline. The amount of the shift is determined from information from the parent area, the sub- or superscript offset from the nominal font of the parent area, percent of the "line-height" of the parent area or an absolute value.
Values for the property have the following meaning:
There is no baseline shift; the dominant-baseline remains in its original position.
The dominant-baseline is shifted to the default position for subscripts. The offset to this position is determined by the font data for the nominal font as adjusted by the dominant baseline-table font-size. If there is no applicable font data the User Agent may use heuristics to determine the offset.
The dominant-baseline is shifted to the default position for superscripts. The offset to this position is determined by the font data for the nominal font as adjusted by the dominant baseline-table font-size. If there is no applicable font data the User Agent may use heuristics to determine the offset.
The computed value of the property is this percentage multiplied by the computed "line-height" of the parent area. The dominant-baseline is shifted in the shift-direction (positive value) or opposite to the shift-direction (negative value) of the parent area by the computed value. A value of "0%" is equivalent to "baseline".
The dominant-baseline is shifted in the shift-direction (positive value) or opposite to the shift-direction (negative value) of the parent area by the <length> value. A value of "0cm" is equivalent to "baseline".
NOTE:Although it may seem that "baseline-shift" and "alignment-adjust" properties are doing the same thing, there is an important although, perhaps, subtle difference. For "alignment-adjust" the percentage values refer to the "line-height" of the element being aligned. For "baseline-shift" the percentage values refer to the "line-height" of the parent. Similarly, it is the "sub" and "super" offsets of the parent that are used to align the shifted baseline rather than the "sub" or "super" offsets of the element being positioned. To ensure a consistent sub- or superscript position, it makes more sense to use the parent as the reference rather than the subscript element which may have a changed "line-height" due to "font-size" changes in the sub- or superscript element.
Using the "alignment-adjust" property is more suitable for positioning objects, such as graphics, that have no internal textual structure. Using the "baseline-shift" property is intended for sub- and superscripts where the positioned object may itself be a textual object. The baseline-shift provides a way to define a specific baseline offset other than the named offsets that are defined relative to the dominant-baseline. In addition, having "baseline-shift" makes it easier for tool to generate the relevant properties; many formatting programs already have a notion of (temporary) baseline shift.
XSL Definition:
Value: | auto | before | center | after | inherit |
Initial: | auto |
Applies to: | fo:table-cell, fo:region-body, fo:region-before, fo:region-after, fo:region-start, fo:region-end |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
This property specifies the alignment, in the block-progression-direction, of the areas that are the children of a reference-area.
Values for the property have the following meaning:
If the "relative-align" property applies to this formatting object the "relative-align" property is used. If not, this value is treated as if "before" had been specified.
The before-edge of the allocation-rectangle of the first child area is placed coincident with the before-edge of the content-rectangle of the reference-area.
The child areas are placed such that the distance between the before-edge of the allocation-rectangle of the first child area and the before-edge of the content-rectangle of the reference-area is the same as the distance between the after-edge of the allocation-rectangle of the last child area and the after-edge of the content-rectangle of the reference-area.
The after-edge of the allocation-rectangle of the last child area is placed coincident with the after-edge of the content-rectangle of the reference-area.
XSL Definition:
Value: | auto | autosense-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | inherit |
Initial: | auto |
Applies to: | all inline formatting objects |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
The "dominant-baseline" property is used to re-determine the dominant-baseline and re-establish the font-size used with the baseline-table. This property can also be used to explicitly set the dominant-baseline when the "auto" value would give an incorrect result.
Values for the property have the following meaning:
If this property occurs on a block-level formatting object, the dominant-baseline is set using the rules for "autosense-script" below. Otherwise, the dominant-baseline and the baseline-table remain the same as that of the parent area. If the "baseline-shift" value actually shifts the baseline, then the baseline-table font-size is set to the current "font-size", otherwise the baseline-table font-size remains the same as that of the parent area. If there is no parent area, the dominant-baseline is set to be the "lower" baseline, the baseline-table is set for that baseline, and the baseline-table font-size is set to the current "font-size".
The dominant-baseline and the baseline-table are set as follows. Use the first character descendant, as determined by the post-order traversal of the refined formatting object tree, which has an unambigous script identifier to determine the dominant script of the element's content. Using the nominal font for the element, set the "dominant-baseline" (and, correspondingly, the dominant baseline-table) to the default baseline, in the current writing-mode, for the dominant script. If there is no such character, then set the "alphabetic" baseline as the dominant-baseline.
The dominant-baseline, the baseline-table, and the baseline-table font-size remain the same as that of the parent area.
The dominant-baseline and the baseline-table remain the same, but the baseline-table font-size is changed to the value of the "font-size" property on this formatting object. This re-scales the baseline-table for the current "font-size".
The dominant-baseline is set to the "ideographic" baseline using the baseline-table and baseline-table font-size of the parent area, the baseline-table is changed to correspond to the "ideographic" baseline, and the baseline-table font-size is changed to the value of the "font-size" property on this formatting object.
The dominant-baseline is set to the "alphabetic" baseline using the baseline-table and baseline-table font-size of the parent area, the baseline-table is changed to correspond to the "alphabetic" baseline, and the baseline-table font-size is changed to the value of the "font-size" property on this formatting object.
The dominant-baseline is set to the "hanging" baseline using the baseline-table and baseline-table font-size of the parent area, the baseline-table is changed to correspond to the "hanging" baseline, and the baseline-table font-size is changed to the value of the "font-size" property on this formatting object.
The dominant-baseline is set to the "mathematical" baseline using the baseline-table and baseline-table font-size of the parent area, the baseline-table is changed to correspond to the "mathematical" baseline, and the baseline-table font-size is changed to the value of the "font-size" property on this formatting object.
If there is no baseline-table in the nominal font or if the baseline-table lacks an entry for the desired baseline, then the User Agent may use heuristics to determine the position of the desired baseline.
XSL Definition:
Value: | before | baseline | inherit |
Initial: | before |
Applies to: | fo:list-item, fo:table-cell |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
This property specifies the alignment, in the block-progression-direction, between two or more areas. If the "display-align" property applies to this formatting object and has a value other than "auto" this property is ignored.
Values for the property have the following meaning:
For an fo:table-cell: for each row, the first child area of all the cells that start in the row and that have this value is placed such that the before-edge of the content-rectangle is placed at the same distance from the row grid. In addition, at least, one of these first child areas of the cells has to be placed with the before-edge of its allocation-rectangle coincident with the before-edge of the content-rectangle of the table-cell.
For an fo:list-item the before-edge of the first area descendant generated by the fo:list-item-label is placed coincident with the before-edge of the area generated by the fo:list-item. Similarly the before-edge of the first area descendant generated by the fo:list-item-body is placed coincident with the before-edge of the area generated by the fo:list-item.
For an fo:table-cell: for each row, the first child area of all the cells that start in the row and that have this value is placed such that the dominant-baseline, as specified on the fo:table-row, of the first line is placed at the same distance from the row grid. In addition, at least, one of these first child areas of the cells has to be placed with the before-edge of its allocation-rectangle coincident with the before-edge of the content-rectangle of the table-cell.
NOTE:That is, for all applicable cells the baseline of all the first lines are all aligned and placed the minimum distance down in the block-progression-direction. It should be noted that the start-edges of the content-rectangles of the cells need not align.
For an fo:list-item the distance between the baseline of the first line-area of the first area descendant generated by the fo:list-item-label is the same as the distance between the baseline of the first line-area of the first area descendant generated by the fo:list-item-body. In addition, at least, one of these first area descendants has to be placed such that the before-edge of its allocation-rectangle is coincident with the before-edge of the content-rectangle of the list-item.
Writing-mode Relative Equivalent of CSS2 Property.
Value: | auto | <length> | <percentage> | <length-range> | inherit |
Initial: | auto |
Applies to: | see prose |
Inherited: | no |
Percentages: | see prose |
Media: | visual |
This property specifies the block-progression-dimension of the content-rectangle. The user may specify an explicit size (<length> or <percentage>) or a <length-range>, allowing the size to be adjusted by the formatter.
This property does not apply when the "line-height" property applies to the same dimension of the areas generated by this formatting object.
Values have the following meanings:
No constraint is imposed by this property. The block-progression-dimension is determined by the formatter taking all other constraints into account.
Specifying block-progression-dimension="auto" will set:
block-progression-dimension.minimum="auto"
block-progression-dimension.optimum="auto"
block-progression-dimension.maximum="auto"
Specifies a fixed block-progression-dimension.
Specifying block-progression-dimension=<length> will set:
block-progression-dimension.minimum=<length>
block-progression-dimension.optimum=<length>
block-progression-dimension.maximum=<length>
Specifies a percentage block-progression-dimension. The percentage is calculated with respect to the corresponding dimension of the closest area ancestor that was generated by a block-level formatting object. If that dimension is not specified explicitly (i.e., it depends on content's block-progression-dimension), the value is interpreted as "auto".
Specifying block-progression-dimension=<percentage> will set:
block-progression-dimension.minimum=<percentage>
block-progression-dimension.optimum=<percentage>
block-progression-dimension.maximum=<percentage>
Specifies the dimension as a length-range, consisting of:
block-progression-dimension.optimum
This is the preferred dimension of the area created, if minimum and maximum are identical, the area is of a fixed dimension. If they are, respectively, smaller and larger than optimum, then the area may be adjusted in dimension within that range.
A value of "auto" may be specified for optimum, indicating that there is no preferred dimension, but that the intrinsic or resolved dimension of the area should be used. If minimum and/or maximum are not also auto, then the dimension shall be constrained between those limits.
block-progression-dimension.minimum
block-progression-dimension.maximum
A value of "auto" may be specified for block-progression-dimension.maximum. This indicates that there is no absolute maximum limit, and the object may be sized to its intrinsic size.
Negative values for block-progression-dimension.minimum, block-progression-dimension.optimum, and block-progression-dimension.maximum are invalid and are treated as if "0pt" had been specified.
If the computed value of block-progression-dimension.maximum is less than the computed value of block-progression-dimension.optimum, it is treated as if the value of block-progression-dimension.optimum had been specified.
If the computed value of block-progression-dimension.minimum is greater than the computed value of block-progression-dimension.optimum, it is treated as if the value of block-progression-dimension.optimum had been specified.
If the value of block-progression-dimension.optimum is "auto" and the computed value of block-progression-dimension.minimum is greater than the computed value of block-progression-dimension.maximum the block-progression-dimension.minimum is treated as if the value of block-progression-dimension.maximum had been specified.
XSL Definition:
Value: | auto | <length> | <percentage> | inherit |
Initial: | auto |
Applies to: | fo:external-graphic, fo:instream-foreign-object |
Inherited: | no |
Percentages: | intrinsic height |
Media: | visual |
Values have the following meanings:
The content-height should be the intrinsic content-height.
An absolute size for the content-height. This value implies a certain scaling factor to be applied onto the content.
A percentage representing a scaling factor for the content-height.
Specifies the content-height of some object (e.g., an external graphic). If the value is a percentage, the value of this property is the percentage applied to the intrinsic height.
XSL Definition:
Value: | auto | <length> | <percentage> | inherit |
Initial: | auto |
Applies to: | fo:external-graphic, fo:instream-foreign-object |
Inherited: | no |
Percentages: | intrinsic height |
Media: | visual |
Values have the following meanings:
The content-width should be the intrinsic content-width.
An absolute size for the content-width. This value implies a certain scaling factor to be applied onto the content.
A percentage representing a scaling factor for the content-width.
Specifies the content-width of some object (e.g., an external graphic). If the value is a percentage, the value of this property is the percentage applied to the intrinsic width.
CSS2 Definition:
Value: | <length> | <percentage> | auto | inherit |
Initial: | auto |
Applies to: | all elements but non-replaced inline elements, table columns, and column groups |
Inherited: | no |
Percentages: | see prose |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-height.
This property specifies the content height of boxes generated by block-level and replaced elements.
This property does not apply to non-replaced inline-level elements. The height of a non replaced inline element's boxes is given by the element's (possibly inherited) 'line-height' value.
Values have the following meanings:
The height depends on the values of other properties.
Specifies a fixed height.
Specifies a percentage height. The percentage is calculated with respect to the height of the generated box's containing block. If the height of the containing block is not specified explicitly (i.e., it depends on content height), the value is interpreted like "auto".
Negative values for 'height' are illegal.
XSL modifications to the CSS definition:
In XSL, this property is mapped to either "inline-progression-dimension" or "block-progression-dimension", based on the applicable values of the "writing-mode" and "reference-orientation" properties. Details on the mapping are given in [5 Property Refinement / Resolution].
For a discussion of the "height" property in tables see: http://www.w3.org/TR/REC-CSS2/tables.html
Writing-mode Relative Equivalent of CSS2 Property.
Value: | auto | <length> | <percentage> | <length-range> | inherit |
Initial: | auto |
Applies to: | see prose |
Inherited: | no |
Percentages: | see prose |
Media: | visual |
This property specifies the inline-progression-dimension of the content-rectangle. The user may specify an explicit size (<length> or <percentage>) or a <length-range>, allowing the size to be adjusted by the formatter.
This property does not apply when the "line-height" property applies to the same dimension of the areas generated by this formatting object.
Values have the following meanings:
No constraint is imposed by this property. The block-progression-dimension is determined by the formatter taking all other constraints into account.
Specifying inline-progression-dimension=auto will set:
inline-progression-dimension.minimum=auto
inline-progression-dimension.optimum=auto
inline-progression-dimension.maximum=auto
Specifies a fixed inline-progression-dimension.
Specifying inline-progression-dimension=<length> will set:
inline-progression-dimension.minimum=<length>
inline-progression-dimension.optimum=<length>
inline-progression-dimension.maximum=<length>
Specifies a percentage inline-progression-dimension. The percentage is calculated with respect to the corresponding dimension of the closest area ancestor that was generated by a block-level formatting object. If that dimension is not specified explicitly (i.e., it depends on content's inline-progression-dimension), the value is interpreted as "auto".
Specifying inline-progression-dimension=<percentage> will set:
inline-progression-dimension.minimum=<percentage>
inline-progression-dimension.optimum=<percentage>
inline-progression-dimension.maximum=<percentage>
Specifies the dimension as a length-range, consisting of:
inline-progression-dimension.optimum
This is the preferred dimension of the area created, if minimum and maximum are identical, the area is of a fixed dimension. If they are, respectively, smaller and larger than optimum, then the area may be adjusted in dimension within that range.
A value of "auto" may be specified for optimum, indicating that there is no preferred dimension, but that the intrinsic or resolved dimension of the area should be used. If minimum and/or maximum are not also auto, then the dimension shall be constrained between those limits.
inline-progression-dimension.minimum
inline-progression-dimension.maximum
A value of "auto" may be specified for inline-progression-dimension.maximum. This indicates that there is no absolute maximum limit, and the object may be sized to its intrinsic size.
Negative values for inline-progression-dimension.minimum, inline-progression-dimension.optimum, and inline-progression-dimension.maximum are invalid and are treated as if "0pt" had been specified.
If the computed value of inline-progression-dimension.maximum is less than the computed value of inline-progression-dimension.optimum, it is treated as if the value of inline-progression-dimension.optimum had been specified.
If the computed value of inline-progression-dimension.minimum is greater than the computed value of inline-progression-dimension.optimum, it is treated as if the value of inline-progression-dimension.optimum had been specified.
CSS2 Definition:
Value: | <length> | <percentage> | none | inherit |
Initial: | 0pt |
Applies to: | all elements except non-replaced inline elements and table elements |
Inherited: | no |
Percentages: | refer to height of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-max-height.
These two properties allow authors to constrain box heights to a certain range. Values have the following meanings:
(Only on "max-height") No limit on the height of the box.
Specifies a fixed minimum or maximum computed height.
Specifies a percentage for determining the computed value. The percentage is calculated with respect to the height of the generated box's containing block. If the height of the containing block is not specified explicitly (i.e., it depends on content height), the percentage value is interpreted like "auto".
XSL modifications to the CSS definition:
In XSL, this property is mapped to either "inline-progression-dimension" or "block-progression-dimension", based on the applicable values of the "writing-mode" and "reference-orientation" properties. Details on the mapping are given in [5 Property Refinement / Resolution].
CSS2 Definition:
Value: | <length> | <percentage> | none | inherit |
Initial: | none |
Applies to: | all elements except non-replaced inline elements and table elements |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-max-width.
These two properties allow authors to constrain box widths to a certain range. Values have the following meanings:
(Only on "max-width") No limit on the width of the box.
Specifies a fixed minimum or maximum computed width.
Specifies a percentage for determining the computed value. The percentage is calculated with respect to the width of the generated box's containing block.
XSL modifications to the CSS definition:
In XSL, this property is mapped to either "inline-progression-dimension" or "block-progression-dimension", based on the applicable values of the "writing-mode" and "reference-orientation" properties. Details on the mapping are given in [5 Property Refinement / Resolution].
CSS2 Definition:
Value: | <length> | <percentage> | inherit |
Initial: | 0pt |
Applies to: | all elements except non-replaced inline elements and table elements |
Inherited: | no |
Percentages: | refer to height of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-min-height.
XSL modifications to the CSS definition:
In XSL, this property is mapped to either "inline-progression-dimension" or "block-progression-dimension", based on the applicable values of the "writing-mode" and "reference-orientation" properties. Details on the mapping are given in [5 Property Refinement / Resolution].
CSS2 Definition:
Value: | <length> | <percentage> | inherit |
Initial: | depends on UA |
Applies to: | all elements except non-replaced inline elements and table elements |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-min-width.
XSL modifications to the CSS definition:
In XSL, this property is mapped to either "inline-progression-dimension" or "block-progression-dimension", based on the applicable values of the "writing-mode" and "reference-orientation" properties. Details on the mapping are given in [5 Property Refinement / Resolution].
XSL Definition:
Value: | uniform | non-uniform | inherit |
Initial: | uniform |
Applies to: | fo:external-graphic, fo:instream-foreign-object |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Scaling should preserve the aspect ratio.
Scaling need not preserve the aspect ratio.
Specifies whether scaling needs to preserve the intrinsic aspect ratio.
XSL Definition:
Value: | auto | integer-pixels | resample-any-method | inherit |
Initial: | auto |
Applies to: | fo:external-graphic, fo:instream-foreign-object |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
The User Agent is free to choose either resampling, integer scaling, or any other scaling method.
The User Agent should scale the image such that each pixel in the original image is scaled to the nearest integer number of device-pixels that yields an image less-then-or-equal-to the image size derived from the content-height, content-width, and scaling properties.
The User Agent should resample the supplied image to provide an image that fills the size derived from the content-height, content-width, and scaling properties. The user agent may use any sampling method.
This property is used to indicate a preference in the scaling/sizing tradeoff to be used when formatting bitmapped graphics.
NOTE:This is defined as a preference to allow the user agent the flexibility to adapt to device limitations and to accommodate over-constrained situations involving min/max dimensions and scale factors.
CSS2 Definition:
Value: | <length> | <percentage> | auto | inherit |
Initial: | auto |
Applies to: | all elements but non-replaced inline elements, table-rows, and row groups |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-width.
This property specifies the content width of boxes generated by block-level and replaced elements.
This property does not apply to non-replaced inline-level elements. The width of a non-replaced inline element's boxes is that of the rendered content within them (before any relative offset of children). Recall that inline boxes flow into line boxes. The width of line boxes is given by their containing block, but may be shorted by the presence of floats.
The width of a replaced element's box is intrinsic and may be scaled by the user agent if the value of this property is different than 'auto'.
Values have the following meanings:
The width depends on the values of other properties.
Specifies a fixed width.
Specifies a percentage width. The percentage is calculated with respect to the width of the generated box's containing block.
Negative values for "width" are illegal.
XSL modifications to the CSS definition:
In XSL, this property is mapped to either "inline-progression-dimension" or "block-progression-dimension", based on the applicable values of the "writing-mode" and "reference-orientation" properties. Details on the mapping are given in [5 Property Refinement / Resolution].
XSL Definition:
Value: | auto | column | page | inherit |
Initial: | none |
Applies to: | fo:block |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
No restriction applies. The word may be hyphenated at the end of any region.
Both parts of a hyphenated word shall lie within a single column.
Both parts of a hyphenated word shall lie within a single page.
Controls whether hyphenation can be performed on the last line that fits in a given reference-area.
XSL Definition:
Value: | no-limit | <number> | inherit |
Initial: | no-limit |
Applies to: | fo:block |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Any number of successive lines may be hyphenated.
An integer greater than or equal to 1.
Specifies a limit on the number of successive hyphenated line-areas the formatter may generate in a block-area.
XSL Definition:
Value: | <length> | <percentage> | inherit |
Initial: | 0pt |
Applies to: | fo:block |
Inherited: | yes |
Percentages: | width of containing block |
Media: | visual |
Values have the following meanings:
The "last-line-end-indent" is specified as a length.
The "last-line-end-indent" is specified as a percentage of the block's content-rectangle inline-progression-dimension.
Specifies an indent to be applied to the end-edge of the last (or only) line-area contained in a block-area. It is added to the block's end-edge. Positive values indent the edge, negative values outdent the edge.
CSS2 Definition:
Value: | normal | <length> | <number> | <percentage> | <space> | inherit |
Initial: | normal |
Applies to: | all elements |
Inherited: | yes |
Percentages: | refer to the font size of the element itself |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-line-height.
Values have the following meanings:
Tells user agents to set the computed value to a "reasonable" value based on the font size of the element. The value has the same meaning as <number>. We recommend a computed value for "normal" between 1.0 to 1.2.
The box height is set to this length. Negative values are illegal.
The computed value of the property is this number multiplied by the element's font size. Negative values are illegal. However, the number, not the computed value, is inherited.
The computed value of the property is this percentage multiplied by the element's computed font size. Negative values are illegal.
If the property is set on a block-level element whose content is composed of inline-level elements, it specifies the minimal height of each generated inline box.
If the property is set on an inline-level element, it specifies the exact height of each box generated by the element. (Except for inline replaced elements, where the height of the box is given by the "height" property.)
When an element contains text that is rendered in more than one font, user agents should determine the "line-height" value according to the largest font size.
Generally, when there is only one value of "line-height" for all inline boxes in a paragraph (and no tall images), the above will ensure that baselines of successive lines are exactly "line-height" apart. This is important when columns of text in different fonts have to be aligned, for example in a table.
Note that replaced elements have a "font-size" and a "line-height" property, even if they are not used directly to determine the height of the box. The "font-size" is, however, used to define the "em" and "ex" units, and the "line-height" has a role in the "vertical-align" property.
XSL modifications to the CSS definition:
XSL adds the following value with the following meanings:
The difference between the inline-area's actual height and the line-height's space-specifier's three lengths are each divided by 2.0 and the result is used to set three half-leading values (optimum, minimum, and maximum).
Negative values for line-height.minimum, line-height.optimum, and line-height.maximum are invalid and will be interpreted as 0pt.
If the value of line-height.maximum is less than the value of line-height.optimum, it is treated as if the value of line-height.optimum had been specified. If the value of line-height.minimum is greater than the value of line-height.optimum, it is treated as if the value of line-height.optimum had been specified.
The line-height.conditionality setting can be used to control the half-leading above the first line or after the last line that is placed in a reference-area.
The line-height.precedence setting can be used to control the merging of the half-leading with other spaces.
The space-before and space-after space-specifiers are set to the value of the half-leading. A definition of space-specifiers, and the interaction between space-specifiers occurring in sequence are given in [4.3 Spaces and Conditionality].
If line-height is specified using <length>, <percentage>, or <number>, the formatter shall convert the single value to a space-specifier with the subfields interpreted as follows:
line-height.minimum: the resultant computed value (as a length) of the <length>, <percentage>, or <number>.
line-height.optimum: the resultant computed value (as a length) of the <length>, <percentage>, or <number>.
line-height.maximum: the resultant computed value (as a length) of the <length>, <percentage>, or <number>.
line-height.precedence: force.
line-height.conditionality: retain
XSL Definition:
Value: | consider-shifts | disregard-shifts | inherit |
Initial: | consider-shifts |
Applies to: | fo:block |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
In determining the line-height, include the adjusted top-edge and bottom-edge of any characters that have a baseline-shift.
In determining the line-height, include the unshifted top-edge and bottom-edge of any characters that have a baseline-shift.
This property is used to control whether the line-height is adjusted for content that has a baseline-shift.
NOTE:This property can be used to prevent superscript and subscript characters from disrupting the line-spacing.
XSL Definition:
Value: | line-height | font-height | max-height | inherit |
Initial: | line-height |
Applies to: | fo:block |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Matches CSS's line-height and positioning strategy. (Uses the per-inline-height-rectangle as described in the area model.)
Uses the block's font height as adjusted by the font-height-override-before and font-height-override-after properties. (Uses the nominal-requested-line-rectangle as described in the area model.)
Uses the adjusted maximum ascender-heights and maximum descender-depth for the actual fonts and inline-areas placed on the line. This value may be further influenced by the line-height-shift-adjustment property. (Uses the maximal-line-rectangle as described in the area model).
Selects the strategy for positioning adjacent lines, relative to each other.
XSL Definition:
Value: | ignore | preserve | treat-as-space | inherit |
Initial: | treat-as-space |
Applies to: | see prose |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Specifies that any character flow object whose Unicode character code is #xA shall be discarded.
Specifies no special action.
Specifies that any character flow object whose Unicode character code is #xA shall be treated by subsequent XSL processing (including collapsing) and the formatter as if its Unicode character code were #x20.
The "linefeed-treatment" property specifies the treatment of linefeeds (#xA characters).
XSL Definition:
Value: | ignore | preserve | inherit |
Initial: | preserve |
Applies to: | see prose |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Specifies that any character flow object whose character
is classified as "white space" in XML,
except for #xA (linefeed) characters
(since their treatment is determine by the linefeed-treatment
property), shall be discarded.
Specifies no special action.
The "space-treatment" property specifies the treatment of space (#x20) and other whitespace characters except for linefeeds (#xA characters).
CSS2 Definition:
Value: | start | center | end | justify | inside | outside | left | right | <string> | inherit |
Initial: | start |
Applies to: | block-level elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-align.
This property describes how inline content of a block is aligned. Values have the following meanings:
Left, right, center, and double justify text, respectively.
Specifies a string on which cells in a table column will align (see the section on horizontal alignment in a column for details and an example). This value applies only to table cells. If set on other elements, it will be treated as 'left' or 'right', depending on whether 'direction' is 'ltr', or 'rtl', respectively.
A block of text is a stack of line boxes. In the case of 'left', 'right' and 'center', this property specifies how the inline boxes within each line box align with respect to the line box's left and right sides; alignment is not with respect to the viewport. In the case of 'justify', the UA may stretch the inline boxes in addition to adjusting their positions. (See also 'letter-spacing' and 'word-spacing'.)
NOTE:The actual justification algorithm used is user agent and written language dependent.
Conforming user agents may interpret the value 'justify' as 'left' or 'right', depending on whether the element's default writing direction is left-to-right or right-to-left, respectively.
XSL modifications to the CSS definition:
Values have the following meanings:
Specifies that the content is to be aligned on the start-edge in the inline-progression-direction.
Specifies that the content is to be centered in the inline-progression-direction.
Specifies that the content is to be aligned on the end-edge in the inline-progression-direction.
Specifies that the contents is to be expanded to fill the available width in the inline-progression-direction.
The last (or only) line of any block will be aligned in accordance with the "text-align-last" property value. If this line is to be justified specify "text-align-last='justify'".
If the page binding edge is on the start-edge, the alignment will be start. If the binding is the end-edge, the alignment will be end. If neither, use start alignment.
If the page binding edge is on the start-edge, the alignment will be end. If the binding is the end-edge, the alignment will be start. If neither, use end alignment.
Interpreted as "text-align='start'".
Interpreted as "text-align='end'".
Specifies a string on which cells in a table column will align (see the section, in the CSS2 recommendation, on horizontal alignment in a column for details and an example). This value applies only to table cells. If set on other elements, it will be treated as "start".
This property describes how inline content of a block is aligned.
XSL Definition:
Value: | relative | start | center | end | justify | inside | outside | left | right | <string> | inherit |
Initial: | relative |
Applies to: | fo:block |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
If text-align is justify, then the alignment of the last line will be start. If text-align is not justify, text-align-last will use the value of text-align.
Specifies that the content is to be aligned on the start-edge in the inline-progression-direction.
Specifies that the contents is to be centered in the inline-progression-direction.
Specifies that the content is to be aligned on the end-edge in the inline-progression-direction.
Specifies that the contents is to be expanded to fill the available width in the inline-progression-direction.
If the page binding edge is on the start-edge, the alignment will be start. If the binding is the end-edge, the alignment will be end. If neither, use start-side.
If the page binding edge is on the start-edge, the alignment will be end. If the binding is the end-edge the alignment will be start. If neither, use end alignment.
Interpreted as "text-align-last='start'".
Interpreted as "text-align-last='end'".
Specifies a string on which cells in a table column will align (see the section, in the CSS2 recommendation, on horizontal alignment in a column for details and an example). This value applies only to table cells. If set on other elements, it will be treated as "start".
Specifies the alignment of the last line-area in a block.
CSS2 Definition:
Value: | <length> | <percentage> | inherit |
Initial: | 0pt |
Applies to: | block-level elements |
Inherited: | yes |
Percentages: | refer to width of containing block |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-indent.
This property specifies the indentation of the first line of text in a block. More precisely, it specifies the indentation of the first box that flows into the block's first line box. The box is indented with respect to the left (or right, for right-to-left layout) edge of the line box. User agents should render this indentation as blank space.
Values have the following meanings:
The indentation is a fixed length.
The indentation is a percentage of the containing block width
The value of 'text-indent' may be negative, but there may be implementation-specific limits.
XSL modifications to the CSS definition:
The "text-indent" property specifies an adjustment to the start-indent of the first line-area in a block-area. This indent is added to the block's start-indent.
A negative value specifies a hanging indent (outdent) on the first line.
XSL Definition:
Value: | false | true | inherit |
Initial: | true |
Applies to: | see prose |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Specifies no special action.
Specifies, for any character flow object such that:
its character is classified as "white space" in XML, and
it is not a preserved linefeed (due to linefeed-treatment="preserve"
), and
the immediately preceding (non-ignored) flow object was a character flow object also with a character of class white-space or the immediately following (non-ignored) flow object is a preserved linefeed,
that flow object shall be ignored.
The "white-space-collapse" property specifies the treatment of consecutive white-space. The effect is as follows: after all ignored white-space is discarded and all "treat-as-space" white-space is turned into a space, all resulting runs of two or more consecutive spaces are replaced by a single space, then any remaining space immediately adjacent to a remaining linefeed is also discarded. An implementation is free to use any algorithm to achieve an equivalent effect.
XSL Definition:
Value: | no-wrap | wrap | inherit |
Initial: | wrap |
Applies to: | see prose |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
No line-wrapping will be performed.
In the case when lines are longer than the available width of the content-rectangle, the overflow will be treated in accordance with the "overflow" property specified on the reference-area.
Line-breaking will occur if the line overflows the available block width. No special markers or other treatment will occur.
Specifies how line-wrapping (line-breaking) of the content of the formatting object is to be handled.
XSL Definition:
Value: | <character> |
Initial: | N/A, value is required |
Applies to: | fo:character |
Inherited: | no, a value is required |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Specifies the Unicode character to be presented.
CSS2 Definition:
Value: | normal | <length> | <space> | inherit |
Initial: | normal |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/text.html#propdef-letter-spacing.
This property specifies spacing behavior between text characters. Values have the following meanings:
The spacing is the normal spacing for the current font. This value allows the user agent to alter the space between characters in order to justify text.
This value indicates inter-character space in addition to the default space between characters. Values may be negative, but there may be implementation-specific limits. User agents may not further increase or decrease the inter-character space in order to justify text.
Character-spacing algorithms are user agent dependent. Character spacing may also be influenced by justification (see the "text-align" property).
When the resultant space between two characters is not the same as the default space, user agents should not use ligatures.
Conforming user agents may consider the value of the 'letter-spacing' property to be 'normal'.
XSL modifications to the CSS definition:
The following value type has been added for XSL:
This allows the user to specify a range of adjustments in addition to the default space between characters.
The minimum and maximum values specify the limits of the adjustment.
Default space between characters is defined to be 0pt, i.e., glyph-areas stacked with no extra space between the allocation-rectangles of the glyph-areas. The inline-progression-dimension of the glyph-area is obtained by formatting the fo:character.
For an fo:character that in the Unicode database is classified as "Alphabetic" the start-space and end-space traits are each set to a value as follows:
For "normal": .optimum = "the normal spacing for the current font" / 2, .maximum = auto, .minimum = auto, .precedence = force, and .conditionality = discard. A value of auto for a component implies that the limits are User Agent specific.
For a <length>: .optimum = <length> / 2, .maximum = .optimum, .minimum = .optimum, .precedence = force, and .conditionality = discard.
For a <space>: a value that is half the value of the "letter-spacing" property for the numeric components and the value for the .precedence and .conditionality components. The initial values for .precedence is "force" and for .conditionality "discard".
The CSS statement that "Conforming user agents may consider the value of the 'letter-spacing' property to be 'normal'." does not apply in XSL, if the User Agent implements the "Extended" property set.
NOTE:If it is desired that the letter-space combine with other spaces that have less than forcing precedence, then the value of the letter-space should be specified as a <space> with precedence less than force which implies that space combines according to the space resolution rules described in [4.3 Spaces and Conditionality].
The algorithm for resolving the adjusted values between word-spacing and letter-spacing is User Agent dependent.
XSL Definition:
Value: | auto | suppress | retain | inherit |
Initial: | auto |
Applies to: | fo:character |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
This property applies only to fo:character and determines if the character's presentation shall be suppressed if it occurs at the beginning or end of a line.
All characters that have this property (including spaces) that appear at beginning or end of a line are suppressed. There may be multiple characters that are suppressed on a given line.
This property has the following values:
The value of this property is determined by the Unicode value of the object's character property. The character at codepoints u+0020 is treated as if 'suppress' had been specified. All other characters are treated as if 'retain' had been specified.
This value does not automatically suppress the presentation of the non-breaking-space (u+00a0), the fixed spaces (u+2000 through u+200a), or the ideographic-space (u+3000).
If the glyph-area generated by the fo:character is first or last in a
line-building partition (see section [4.10.2 Line-building])
then it is deleted rather than being placed in the area tree, together
with all adjacent areas with a suppress-at-line-break value of suppress
. Otherwise it is retained and placed in the
area tree.
The glyph-area generated by the fo:character shall be placed in the area tree whether or not it is first or last in a line-building partition.
CSS2 Definition:
Value: | none | [ [ underline | no-underline] || [ overline | no-overline ] || [ line-through | no-line-through ] || [ blink | no-blink ] ] | inherit |
Initial: | none |
Applies to: | all elements |
Inherited: | no, but see prose |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-decoration.
This property describes decorations that are added to the text of an element. If the property is specified for a block-level element, it affects all inline-level descendants of the element. If it is specified for (or affects) an inline-level element, it affects all boxes generated by the element. If the element has no content or no text content (e.g., the IMG element in HTML), user agents must ignore this property.
Values have the following meanings:
Produces no text decoration.
Each line of text is underlined.
Each line of text has a line above it.
Each line of text has a line through the middle
Text blinks (alternates between visible and invisible). Conforming user agents are not required to support this value.
The color(s) required for the text decoration should be derived from the "color" property value.
This property is not inherited, but descendant boxes of a block box should be formatted with the same decoration (e.g., they should all be underlined). The color of decorations should remain the same even if descendant elements have different "color" values.
XSL modifications to the CSS definition:
XSL adds the following values with the following meanings:
Turns off underlining, if any.
Turns off overlining, if any.
Turns off line-through, if any.
Turns off blinking, if any.
CSS2 Definition:
Value: | none | [<color> || <length> <length> <length>? ,]* [<color> || <length> <length> <length>?] | inherit |
Initial: | none |
Applies to: | all elements |
Inherited: | no, see prose |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-shadow.
This property accepts a comma-separated list of shadow effects to be applied to the text of the element. The shadow effects are applied in the order specified and may thus overlay each other, but they will never overlay the text itself. Shadow effects do not alter the size of a box, but may extend beyond its boundaries. The stack level of the shadow effects is the same as for the element itself.
Each shadow effect must specify a shadow offset and may optionally specify a blur radius and a shadow color.
A shadow offset is specified with two "length" values that indicate the distance from the text. The first length value specifies the horizontal distance to the right of the text. A negative horizontal length value places the shadow to the left of the text. The second length value specifies the vertical distance below the text. A negative vertical length value places the shadow above the text.
A blur radius may optionally be specified after the shadow offset. The blur radius is a length value that indicates the boundaries of the blur effect. The exact algorithm for computing the blur effect is not specified.
A color value may optionally be specified before or after the length values of the shadow effect. The color value will be used as the basis for the shadow effect. If no color is specified, the value of the "color" property will be used instead.
CSS2 Definition:
Value: | capitalize | uppercase | lowercase | none | |
Initial: | none |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-transform.
This property controls capitalization effects of an element's text. Values have the following meanings:
Puts the first character of each word in uppercase.
Puts all characters of each word in uppercase.
Puts all characters of each word in lowercase.
No capitalization effects.
The actual transformation in each case is written language dependent. See RFC 2070 ([RFC2070]) for ways to find the language of an element.
Conforming user agents may consider the value of "text-transform" to be "none" for characters that are not from the ISO Latin-1 repertoire and for elements in languages for which the transformation is different from that specified by the case-conversion tables of Unicode or ISO 10646.
XSL modifications to the CSS definition:
There are severe internationalization issues with the use of this property. It has been retained for CSS compatibility, but its use is not recommended in XSL.
XSL Definition:
Value: | auto | yes | no | inherit |
Initial: | auto |
Applies to: | fo:character |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
This property determines if the character shall be treated as a word-space or as a normal letter.
This property has the following values:
The value of this property is determined by the Unicode codepoint for the character.
As the default behavior:
The characters at codepoints u+0020 and u+00a0 are treated as if 'yes' had been specified. All other characters are treated as if 'no' had been specified.
This property does not automatically apply word-spacing to the fixed spaces (u+2000 through u+200a) or the ideographic-space (u+3000).
This default behavior can be overridden by information in the font used for formatting the character, which can specify additional characters that may be treated as "word-spaces".
This inline-progression-dimension of the character shall be adjusted as described in the "word-spacing" property.
This character shall not have a word-spacing adjustment applied.
CSS2 Definition:
Value: | normal | <length> | <space> | inherit |
Initial: | normal |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/text.html#propdef-word-spacing.
This property specifies spacing behavior between words. Values have the following meanings:
The normal inter-word space, as defined by the current font and/or the UA.
This value indicates inter-word space in addition to the default space between words. Values may be negative, but there may be implementation-specific limits.
Word spacing algorithms are user agent-dependent. Word spacing is also influenced by justification (see the 'text-align' property).
XSL modifications to the CSS definition:
The following value type has been added for XSL:
This allows the user to specify a range of adjustments in addition to the default space between words.
The minimum and maximum values specify the limits of the adjustment.
Default space between words is defined to be the inline-progression-dimension of the glyph-area obtained by formatting the current fo:character whose treat-as-wordspace trait has the value "yes".
For fo:character whose treat-as-word-space trait has the value "yes", the start-space and end-space traits are each set to a value as follows:
For "normal": .optimum = ("the normal inter-word-space, as defined by the current font and/or the UA" - "the inline-progression-dimension of the glyph-area obtained by formatting the fo:character") / 2, .maximum = .optimum, .minimum = .optimum, .precedence = force, and .conditionality = discard.
For a <length>: .optimum = <length> / 2, .maximum = .optimum, .minimum = .optimum, .precedence = force, and .conditionality = discard.
For a <space>: a value that is half the value of the "word-spacing" property for the numeric components and the value for the .precedence and .conditionality components. The initial values for .precedence is "force" and for .conditionality "discard".
NOTE:If it is desired that the word-space combine with other spaces that have less than forcing precedence, then the value of the word-space should be specified as a <space> with precedence less than force which implies that space combines according to the space resolution rules described in [4.3 Spaces and Conditionality].
The algorithm for resolving the adjusted values between word-spacing and letter-spacing is User Agent dependent.
NOTE:The "word-spacing" property only affects the placement of glyphs and not the shape that may be associated with the characters. For example, adjusting a "_" treated as a word-space does not lengthen or shorten the "_" glyph.
CSS2 Definition:
Value: | <color> | inherit |
Initial: | depends on user agent |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/colors.html#propdef-color.
Any valid color specification.
This property describes the foreground color of an element's text content.
XSL modifications to the CSS definition:
XSL adds an "icc-color" function as a valid value of this property.
XSL Definition:
Value: | <name> | inherit |
Initial: | |
Applies to: | fo:color-profile |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Specifies the name of a color-profile for internal references.
XSL Definition:
Value: | auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric | inherit |
Initial: | auto |
Applies to: | fo:color-profile |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
"rendering-intent" permits the specification of a color-profile rendering-intent other than the default. "rendering-intent" is applicable primarily to color-profiles corresponding to CMYK color spaces. The different options cause different methods to be used for translating colors to the color gamut of the target rendering device.
Values have the following meanings:
This is the default behavior. The user-agent determines the best intent based on the content type. For image content containing an embedded profile, it shall be assumed that the intent specified within the profile is the desired intent. Otherwise, the user agent shall use the current profile and force the intent, overriding any intent that might be stored in the profile itself.
This method, often the preferred choice for images, preserves the relationship between colors. It attempts to maintain relative color values among the pixels as they are mapped to the target device gamut. Sometimes pixel values that were originally within the target device gamut are changed in order to avoid hue shifts and discontinuities and to preserve as much as possible the overall appearance of the scene.
Leaves colors that fall inside the gamut unchanged. This method usually converts out of gamut colors to colors that have the same lightness but fall just inside the gamut.
Preserves the relative saturation (chroma) values of the original pixels. Out of gamut colors are converted to colors that have the same saturation but fall just inside the gamut.
Disables white point matching when converting colors. This option is generally not recommended.
CSS2 Definition:
Value: | start | end | left | right | both | none | inherit |
Initial: | none |
Applies to: | block-level elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-clear.
This property indicates which sides of an element's box(es) may not be adjacent to an earlier floating box. (It may be that the element itself has floating descendants; the 'clear' property has no effect on those.)
This property may only be specified for block-level elements (including floats). For compact and run-in boxes, this property applies to the final block box to which the compact or run-in box belongs.
Values have the following meanings when applied to non-floating block boxes:
The top margin of the generated box is increased enough that the top border edge is below the bottom outer edge of any left-floating boxes that resulted from elements earlier in the source document.
The top margin of the generated box is increased enough that the top border edge is below the bottom outer edge of any right-floating boxes that resulted from elements earlier in the source document.
The generated box is moved below all floating boxes of earlier elements in the source document.
No constraint on the box's position with respect to floats.
When the property is set on floating elements, it results in a modification of the rules for positioning the float. An extra constraint (#10) is added [to those specified in the description of the 'float' property]:
10. The top outer edge of the float must be below the bottom outer edge of all earlier left-floating boxes (in the case of 'clear: left'), or all earlier right-floating boxes (in the case of 'clear: right'), or both ('clear: both').
XSL modifications to the CSS definition:
A start-float is defined to mean an area with area-class "xsl-side-float" that was generated by an fo:float with property "float" specified as "left" or "start".
An end-float is defined to mean an area with area-class "xsl-side-float" that was generated by an fo:float with property "float" specified as "left" or "start".
A side-float is defined to mean either a start-float or an end-float.
An area is defined "to clear" a side-float if the before-edge of the area's border-rectangle is positioned to be after the after-edge of the float.
A block-level formatting object is defined "to clear" a side-float if the areas generated by the formatting object clear the side-float.
In XSL this property applies to block-level formatting objects and fo:float.
Values have the following meanings:
Specifies that the areas generated by the formatting object must clear every start-float that is a child of the reference-area generated by the nearest ancestor formatting object that generates a reference-area, and that was generated by a formatting object that is before this formatting object, using pre-order traversal order of the formatting object tree.
Specifies that the areas generated by the formatting object must clear every end-float that is a child of the reference-area generated by the nearest ancestor formatting object that generates a reference-area, and that was generated by a formatting object that is before this formatting object, using pre-order traversal order of the formatting object tree.
Interpreted as "clear='start'".
Interpreted as "clear='end'".
Specifies that the areas generated by the formatting object must clear every side-float that is a child of the reference-area generated by the nearest ancestor formatting object that generates a reference-area, and that was generated by a formatting object that is before this formatting object, using pre-order traversal order of the formatting object tree.
This property does not impose any constraints.
When a block-level formatting object is constrained by the "clear" property, its space-before property component values may be altered as necessary for each area that it generates, in order to meet the constraint. The alterations are constrained to produce the minimum additional space required to meet the constraint of the "clear" property.
NOTE:Depending on how near a side-float's after-edge is to the after-edge of its parent reference-area, a block-level formatting object may not be able to generate an area that is a child of the same parent reference-area of the side-float. In this case the first block-area generated by the formatting object must be placed in one of the following columns in the same region or in one of the following pages.
CSS2 Definition:
Value: | before | start | end | left | right | none | inherit |
Initial: | none |
Applies to: | all but positioned elements and generated content |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-float.
This property specifies whether a box should float to the left, right, or not at all. It may be set for elements that generate boxes that are not absolutely positioned. Values have the following meanings:
The element generates a block box that is floated to the left. Content flows on the right side of the box, starting at the top (subject to the "clear" property). The "display" is ignored, unless it has the value "none".
Same as "left", but content flows on the left side of the box, starting at the top.
The box is not floated.
Here are the precise rules that govern the behavior of floats:
1. The left outer edge of a left-floating box may not be to the left of the left edge of its containing block. An analogous rule holds for right-floating elements.
2. If the current box is left-floating, and there are any left floating boxes generated by elements earlier in the source document, then for each such earlier box, either the left outer edge of the current box must be to the right of the right outer edge of the earlier box, or its top must be lower than the bottom of the earlier box. Analogous rules hold for right-floating boxes.
3. The right outer edge of a left-floating box may not be to the right of the left outer edge of any right-floating box that is to the right of it. Analogous rules hold for right-floating elements.
4. A floating box's outer top may not be higher than the top of its containing block.
5. The outer top of a floating box may not be higher than the outer top of any block or floated box generated by an element earlier in the source document.
6. The outer top of an element's floating box may not be higher than the top of any line-box containing a box generated by an element earlier in the source document.
7. A left-floating box that has another left-floating box to its left may not have its right outer edge to the right of its containing block's right edge. (Loosely: a left float may not stick out at the right edge, unless it is already as far to the left as possible.) An analogous rule holds for right-floating elements.
8. A floating box must be placed as high as possible.
9. A left-floating box must be put as far to the left as possible, a right-floating box as far to the right as possible. A higher position is preferred over one that is further to the left/right.
XSL modifications to the CSS definition:
The following values have been added for XSL: "before", "start", and "end".
In XSL this property applies only to fo:float
Values have the following meanings:
Specifies that the block-areas generated by the fo:float shall be with area-class "xsl-before-float", and shall be descendants of a "before-float-reference-area" generated by a conditional sub-region of a region-body.
Specifies that the block-areas generated by the fo:float shall be with area-class "xsl-side-float" and shall be placed so that their start-edge coincides with the start-edge of the nearest ancestor reference-area.
Specifies that the block-areas returned by the fo:float shall be with area-class "xsl-side-float" and shall be placed so that their end-edge coincides with the end-edge of the nearest ancestor reference-area.
Interpreted as "float='start'".
Interpreted as "float='end'".
Specifies that the block-areas generated by the fo:float shall be normal.
This property determines the area-class trait of the block-areas returned by the fo:float, which control the placement and parent of these block-areas.
Page breaks only apply to descendants of the fo:flow formatting object, and not within absolutely positioned areas, or out-of-line areas. In descendants of fo:flow formatting objects, column breaks apply, and a column break in the last (or only) column implies a page break; column breaks in static-content apply except for those in the last (or only) column which are ignored.
The semantics of keeps and breaks are further described in [4.11 Keeps and Breaks].
XSL Definition:
Value: | auto | column | page | even-page | odd-page | inherit |
Initial: | auto |
Applies to: | block-level formatting objects, fo:list-item, and fo:table-row. |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Values for these properties have the following meanings:
No break shall be forced.
NOTE:Page breaks may occur as determined by the formatter's processing as affected by the "widow", "orphan", "keep-with-next", "keep-with-previous", and "keep-together" properties.
Imposes a break-after condition with a context consisting of column-areas.
Imposes a break-after condition with a context consisting of page-areas.
Imposes a break-after condition with a context consisting of even page-areas (a blank page may be generated if necessary).
Imposes a break-after condition with a context consisting of odd page-areas (a blank page may be generated if necessary).
Specifies that the last area generated by formatting this formatting object shall be the last one placed in a particular context (e.g., page-area, column-area).
This property has no effect when it appears on an fo:table-row formatting object in which there is any row spanning occurring that includes both the current fo:table-row and the subsequent one.
XSL Definition:
Value: | auto | column | page | even-page | odd-page | inherit |
Initial: | auto |
Applies to: | block-level formatting objects, fo:list-item, and fo:table-row. |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
No break shall be forced.
NOTE:Page breaks may occur as determined by the formatter's processing as affected by the "widow", "orphan", "keep-with-next", "keep-with-previous", and "keep-together" properties.
Imposes a break-before condition with a context consisting of column-areas.
Imposes a break-before condition with a context consisting of page-areas.
Imposes a break-before condition with a context consisting of even page-areas (a blank page may be generated if necessary).
Imposes a break-before condition with a context consisting of odd page-areas (a blank page may be generated if necessary).
Specifies that the first area generated by formatting this formatting object shall be the first one placed in a particular context (e.g., page-area, column-area).
This property has no effect when it appears on an fo:table-row formatting object in which there is any row spanning occurring that includes both the current fo:table-row and the previous one.
XSL Definition:
Value: | <keep> | inherit |
Initial: | .within-line=auto, .within-column=auto, .within-page=auto |
Applies to: | block-level formatting objects, inline formatting objects, fo:title, fo:list-item, fo:list-item-label, and fo:list-item-body |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
This property imposes keep-together conditions on formatting objects.
The <keep> datatype is composed of three components: within-line, within-column, and within-page. Different components apply to different classes of formatting objects and provide keep conditions relative to different contexts. In the case of the within-line component, the keep context consists of line-areas; for the within-column component, the keep context consists of column-areas; for the within-page component, the keep context consists of page-areas. In the descriptions below, the term "appropriate context" should be interpreted in terms of the previous sentence.
Any assignment to this property unqualified by a specific component shall cause the ".within-column" component to be set to the given value and the ".within-line" and ".within-page" components to be set to "auto".
Values of the components have the following meanings:
There are no keep-together conditions imposed by this property.
Imposes a keep-together condition with strength "always" in the appropriate context.
Imposes a keep-together condition with strength of the given <integer> in the appropriate context.
The semantics of keeps and breaks are further described in [4.11 Keeps and Breaks].
XSL Definition:
Value: | <keep> | inherit |
Initial: | .within-line=auto, .within-column=auto, .within-page=auto |
Applies to: | block-level formatting objects, inline formating objects, fo:list-item, and fo:table-row |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
This property imposes keep-with-next conditions on formatting objects.
The <keep> datatype is composed of three components: within-line, within-column, and within-page. Different components apply to different classes of formatting objects and provide keep conditions relative to different contexts. In the case of the within-line component, the keep context consists of line-areas; for the within-column component, the keep context consists of column-areas; for the within-page component, the keep context consists of page-areas. In the descriptions below, the term "appropriate context" should be interpreted in terms of the previous sentence.
Any assignment to this property unqualified by a specific component shall cause the ".within-column" component to be set to the given value and the ".within-line" and ".within-page" components to be set to "auto".
Values of the components have the following meanings:
There are no keep-with-next conditions imposed by this property.
Imposes a keep-with-next condition with strength "always" in the appropriate context.
Imposes a keep-with-next condition with strength of the given <integer> in the appropriate context.
The semantics of keeps and breaks are further described in [4.11 Keeps and Breaks].
XSL Definition:
Value: | <keep> | inherit |
Initial: | .within-line=auto, .within-column=auto, .within-page=auto |
Applies to: | block-level formatting objects, inline-level formatting objects, fo:list-item, and fo:table-row |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
This property imposes keep-with-previous conditions on formatting objects.
The <keep> datatype is composed of three components: within-line, within-column, and within-page. Different components apply to different classes of formatting objects and provide keep conditions relative to different contexts. In the case of the within-line component, the keep context consists of line-areas; for the within-column component, the keep context consists of column-areas; for the within-page component, the keep context consists of page-areas. In the descriptions below, the term "appropriate context" should be interpreted in terms of the previous sentence.
Any assignment to this property unqualified by a specific component shall cause the ".within-column" component to be set to the given value and the ".within-line" and ".within-page" components to be set to "auto".
Values of the components have the following meanings:
There are no keep-with-previous conditions imposed by this property.
Imposes a keep-with-previous condition with strength "always" in the appropriate context.
Imposes a keep-with-previous condition with strength of the given <integer> in the appropriate context.
The semantics of keeps and breaks are further described in [4.11 Keeps and Breaks].
CSS2 Definition:
Value: | <integer> | inherit |
Initial: | 2 |
Applies to: | block-level elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/page.html#propdef-orphans.
See definition of property widows ([7.17.7 "widows"]).
CSS2 Definition:
Value: | <integer> | inherit |
Initial: | 2 |
Applies to: | block-level elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/page.html#propdef-widows.
The "orphans" property specifies the minimum number of lines of a paragraph that must be left at the bottom of a page. The "widows" property specifies the minimum number of lines of a paragraph that must be left at the top of a page.
XSL modifications to the CSS definition:
In XSL the "orphans" property specifies the minimum number of line-areas in the first area generated by the formatting object. The "widows" property specifies the minimum number of line-areas in the last area generated by the formatting object.
The following are layout-related properties that are not common to all formatting objects.
CSS2 Definition:
Value: | <shape> | auto | inherit |
Initial: | auto |
Applies to: | block-level and replaced elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visufx.html#propdef-clip.
The 'clip' property applies to elements that have a 'overflow' property with a value other than 'visible'. Values have the following meanings:
The clipping region has the same size and location as the element's box(es).
In CSS2, the only valid <shape> value is: rect (<top> <right> <bottom> <left>) where <top>, <bottom> <right>, and <left> specify offsets from the respective sides of the box.
<top>, <right>, <bottom>, and <left> may either have a <length> value or "auto". Negative lengths are permitted. The value "auto" means that a given edge of the clipping region will be the same as the edge of the element's generated box (i.e., "auto" means the same as "0".)
When coordinates are rounded to pixel coordinates, care should be taken that no pixels remain visible when <left> + <right> is equal to the element's width (or <top> + <bottom> equals the element's height), and conversely that no pixels remain hidden when these values are 0.
The element's ancestors may also have clipping regions (in case their "overflow" property is not "visible"); what is rendered is the intersection of the various clipping regions.
If the clipping region exceeds the bounds of the UA's document window, content may be clipped to that window by the native operating environment.
CSS2 Definition:
Value: | visible | hidden | scroll | auto | inherit |
Initial: | auto |
Applies to: | block-level and replaced elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visufx.html#propdef-overflow.
This property specifies whether the content of a block-level element is clipped when it overflows the element's box (which is acting as a containing block for the content). Values have the following meanings:
This value indicates that content is not clipped, i.e., it may be rendered outside the block box.
This value indicates that the content is clipped and that no scrolling mechanism should be provided to view the content outside the clipping region; users will not have access to clipped content. The size and shape of the clipping region is specified by the "clip" property.
This value indicates that the content is clipped and that if the user agent uses scrolling mechanism that is visible on the screen (such as a scroll bar or a panner), that mechanism should be displayed for a box whether or not any of its content is clipped. This avoids any problem with scrollbars appearing and disappearing in a dynamic environment. When this value is specified and the target medium is "print" or 'projection', overflowing content should be printed.
The behavior of the "auto" value is user agent dependent, but should cause a scrolling mechanism to be provided for overflowing boxes.
Even if "overflow" is set to "visible", content may be clipped to a UA's document window by the native operating environment.
XSL modifications to the CSS definition:
The initial value for the overflow property has been changed from "visible" to "auto".
Two more values are defined and the definition of the CSS "auto" value is augmented as follows:
This value implies the same semantics as the value "hidden" with the additional semantic that an error shall be indicated; implementations may recover by clipping the region.
When overflow occurs while directing content to a target region on a page-master, new instances of the presentation medium shall be generated as necessary to contain the overflow. When applied to a non-region formatting object, this value specifies, in the case of overflow, that more areas shall be generated as necessary to contain the overflow.
The behavior of the "auto" value is User Agent dependent, but should cause a scrolling mechanism to be provided for overflowing boxes if the User Agent if the User Agent is capable of doing so. If the User Agent cannot provide a scrolling mechanism, then (1) when applied to the region to which fo:flow is assigned, this value implies the same semantics as "paginate"; (2) when applied to a region to which fo:static-content is assigned, this value implies the same semantics as "error-if-overflow"; and (3) when applied to a non-region formatting object, this value implies the same semantics as "error-if-overflow".
XSL Definition:
Value: | 0 | 90 | 180 | 270 | -90 | -180 | -270 | inherit |
Initial: | 0 |
Applies to: | see prose |
Inherited: | yes (see prose) |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
The reference-orientation of this reference-area has the same reference-orientation as the containing reference-area.
The reference-orientation of this reference-area is rotated 90 degrees counter-clockwise from the reference-orientation of the containing reference-area.
The reference-orientation of this reference-area is rotated 180 degrees counter-clockwise from the reference-orientation of the containing reference-area.
The reference-orientation of this reference-area is rotated 270 degrees counter-clockwise from the reference-orientation of the containing reference-area.
The reference-orientation of this reference-area is rotated 270 degrees counter-clockwise from the reference-orientation of the containing reference-area.
NOTE:This is equivalent to specifying "270".
The reference-orientation of this reference-area is rotated 180 degrees counter-clockwise from the reference-orientation of the containing reference-area.
NOTE:This is equivalent to specifying "180".
The reference-orientation of this reference-area is rotated 90 degrees counter-clockwise from the reference-orientation of the containing reference-area.
NOTE:This is equivalent to specifying "90".
The reference-orientation specifies the direction for "top" for the content-rectangle of the "reference-area". This is used as the reference for deriving directions, such as the block-progression-direction, inline-progression-direction, etc. as specified by the "writing-mode" and "direction" properties.
The "reference-orientation" property is applied only on formatting objects that establish a reference-area. Each value of "reference-orientation" sets the absolute direction for "top", "left", "bottom", and "right"; which is used by "writing-mode", "direction", and all positioning operations that are referenced to the reference-area or are nested within it.
The reference-orientation trait on an area is indirectly derived from the "reference-orientation" property on the formatting object that generates the area or the formatting object ancestors of that formatting object.
Property Derived from a CSS2 Property.
Value: | auto | static | relative | inherit |
Initial: | static |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
The area is normally stacked.
The area's position is determined as if it was normally stacked. Only during rendering is the area rendered offset relative to this position. The fact that one area is relatively positioned does not influence the position on any other area.
For areas that break over a page boundary, only the portion that would have been on a given page originally is included in the repositioned area on that page. Any portion of the repositioned area that was originally on the current page, but falls off the current page due to repositioning is "off" (typically clipped), thus does not fall onto any other page.
XSL Definition:
Value: | none | all | inherit |
Initial: | none |
Applies to: | see prose |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
This object does not span multiple columns.
The areas resulting from this flow object shall span all the columns of a multi-column region.
Specifies if a block-level object should be placed in the current column or should span all columns of a multi-column region.
XSL Definition:
Value: | none | reference-area | page | inherit |
Initial: | none |
Applies to: | fo:leader |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Leader-pattern has no special alignment.
Leader-pattern is aligned as if it began on the current reference-area's content-rectangle start-edge.
Leader-pattern is aligned as if it began on the current page's start-edge.
Specifies whether fo:leaders having identical content and property values shall have their patterns aligned with each other, with respect to their common reference-area or page.
For fo:leaders where the "leader-pattern" property is specified as "dot" or as "use-content", this property will be honored.
If the fo:leader is aligned, the start-edge of each cycle of the repeated pattern will be placed on the start-edge of the next cycle in the appropriate pattern-alignment grid.
XSL Definition:
Value: | space | rule | dots | use-content | inherit |
Initial: | space |
Applies to: | fo:leader |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Leader is to be filled with blank space.
Leader is to be filled with a rule.
If this choice is selected, the "rule-thickness" and "rule-style" properties are used to set the leader's style.
Leader is to be filled with a repeating sequence of dots. The choice of dot character is dependent on the user agent.
Leader is to be filled with a repeating pattern as specified by the children of the fo:leader.
Provides the specification of how to fill in the leader.
If the leader is aligned, the start-edge of each cycle of each repeating pattern component will be placed on the start-edge of the next cycle in the pattern-alignment grid.
XSL Definition:
Value: | use-font-metrics | <length> | inherit |
Initial: | use-font-metrics |
Applies to: | fo:leader |
Inherited: | yes |
Percentages: | Refer to width of containing box |
Media: | visual |
Values have the following meanings:
Use the width of the leader-pattern as determined from its font metrics.
Sets length for leader-pattern-repeating.
The leader will have an inline-space inserted after each pattern cycle to account for any difference between the width of the pattern as determined by the font metrics and the width specified in this property.
If the length specified is less than the value that would be determined via the use-font-metrics choice, this value will be treated as if use-font-metrics choice had been specified.
Specifies the length of each repeat cycle in a repeating leader.
For leaders where the "leader-pattern" property is specified as "dot" or as "use-content", this property will be honored.
XSL Definition:
Value: | <length-range> | inherit |
Initial: | leader-length.minimum=0pt, .optimum=12.0pt, .maximum=100% |
Applies to: | fo:leader |
Inherited: | yes |
Percentages: | refer to width of content-rectangle of parent area |
Media: | visual |
Values have the following meanings:
leader-length.minimum=sets minimum length for a leader
leader-length.optimum=sets optimum length for a leader
leader-length.maximum=sets maximum length for a leader
Specifies the minimum, optimum, and maximum length of an fo:leader.
This property constrains the length of the leader to be between the minimum and maximum lengths.
NOTE:User agents may choose to use the value of "leader-length.optimum" to determine where to break the line, then use the minimum and maximum values during line justification."
XSL Definition:
Value: | none | dotted | dashed | solid | double | groove | ridge | inherit |
Initial: | solid |
Applies to: | fo:leader |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Specifies the style (pattern) of the rule.
This property applies only if the "leader-pattern" property is specified as "rule".
Values have the following meanings:
No rule, forces rule-thickness to 0.
The rule is a series of dots.
The rule is a series of short line segments.
The rule is a single line segment.
The rule is two solid lines. The sum of the two lines and the space between them equals the value of "rule-thickness".
The rule looks as though it were carved into the canvas. (Top/left half of the rule's thickness is the color specified, the other half is white.)
The opposite of "groove", the rule looks as though it were coming out of the canvas. (Bottom/right half of the rule's thickness is the color specified, the other half is white.)
XSL Definition:
Value: | <length> |
Initial: | 1.0pt |
Applies to: | fo:leader |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Specifies the overall thickness of the rule.
This property applies only if the "leader-pattern" property is specified as "rule".
Values have the following meanings:
The "rule-thickness" is always perpendicular to its length-axis.
The rule is thickened equally above and below the line's alignment position. This can be adjusted through the "baseline-shift" property.
XSL Definition:
Value: | link | visited | active | hover | focus |
Initial: | no, a value is required |
Applies to: | fo:multi-property-set |
Inherited: | no |
Percentages: | N/A |
Media: | interactive |
This fo:multi-property-set applies if there is a fo:simple-link descendant of the parent fo:multi-properties and that link has not yet been visited.
This fo:multi-property-set applies if there is a fo:simple-link descendant of the parent fo:multi-properties and that link has been visited.
This fo:multi-property-set applies while a normal area returned by the parent fo:multi-properties is being activated by the user. For example, between the times the user presses the mouse button and releases it.
This fo:multi-property-set applies while the user designates a normal area returned by the parent fo:multi-properties (with some pointing device), but does not activate it. For example the cursor (mouse pointer) hovers over such an area.
This fo:multi-property-set applies while a normal area returned by the parent fo:multi-properties has the focus (accepts keyboard events or other forms of text input).
The "active-state" property is used to control which of the fo:multi-property-sets are used to format the child flow objects within an fo:multi-properties formatting object. The states (or at least the events that cause the state to be entered) are defined by the DOM.
XSL Definition:
Value: | yes | no |
Initial: | no |
Applies to: | fo:multi-switch |
Inherited: | yes |
Percentages: | N/A |
Media: | interactive |
If this fo:multi-switch is contained in another fo:multi-switch, and that fo:multi-switch changes the active fo:multi-case (hiding this fo:multi-switch), then this fo:multi-switch should restore its initial fo:multi-case.
This fo:multi-switch should retain its current fo:multi-case.
Specifies if the initial fo:multi-case should be restored when the fo:multi-switch gets hidden by an ancestor fo:multi-switch.
NOTE:A common case of using this property with a "yes" value is when several nested fo:multi-switch objects builds an expandable/collapsible table-of-contents view. If the table-of-contents is expanded far down the hierarchy, and an (far above) ancestor is closed, one would want all sub-titles to have restored to their original state when that ancestor is opened again.
XSL Definition:
Value: | <name> |
Initial: | none, a value is required |
Applies to: | fo:multi-case |
Inherited: | no, a value is required |
Percentages: | N/A |
Media: | interactive |
Specifies a name for an fo:multi-case. The name must be unique among the current fo:multi-case siblings, i.e., in the scope of the fo:multi-switch object that (directly) contains them. Other instances of fo:multi-switch objects may use the same names for its fo:multi-case objects.
The purpose of this property is to allow fo:multi-toggle objects to select fo:multi-case objects to switch to.
XSL Definition:
Value: | <string> |
Initial: | none, a value is required |
Applies to: | fo:multi-case |
Inherited: | no, a value is required |
Percentages: | N/A |
Media: | interactive |
Specifies a descriptive title for the fo:multi-case. The title can be displayed in a menu to represent this fo:multi-case when an fo:multi-toggle object names several fo:multi-case objects as allowed destinations.
XSL Definition:
Value: | <length> |
Initial: | 0pt |
Applies to: | fo:simple-link |
Inherited: | no |
Percentages: | N/A |
Media: | interactive |
The "destination-placement-offset" property specifies the distance from the beginning (top) of the page to the innermost line-area that contains the first destination area. If the first destination area is not contained in a line-area, the "destination-placement-offset" property instead directly specifies the distance to the top of the destination area.
If the specification of destination-placement-offset would result in a distance longer than the distance from the start of the document, the distance from the start of the document should be used.
If the specified distance would push the first destination area below the page-area, the distance should be decreased so the whole first destination area becomes visible, if possible. If the first destination area is higher than the page, the top of the area should be aligned with the top of the page.
XSL Definition:
Value: | <uri-reference> |
Initial: | null string |
Applies to: | fo:simple-link |
Inherited: | no |
Percentages: | N/A |
Media: | interactive |
Specifies the destination resource (or, when a fragment identifier is given, sub-resource) for an fo:simple-link.
How the destination (sub-)resource is used and/or displayed is application and implementation-dependent. In typical browsing applications, the destination resource is displayed in the browser positioned so that some rendered portion resulting from the processing of some part of the specific destination sub-resource indicated by the fragment identifier is in view.
At least one of the external-destination and internal-destination properties should be assigned. If both are assigned, the system may either report the error, or use the internal-destination property.
XSL Definition:
Value: | yes | no |
Initial: | no |
Applies to: | fo:simple-link |
Inherited: | no |
Percentages: | N/A |
Media: | interactive |
The areas that belong to the link target when traversed should, in a system-dependent manner, be indicated.
No special indication should be made.
NOTE:This could be indicated in any feasible way, e.g., by reversed video, etc.
XSL Definition:
Value: | null string | <idref> |
Initial: | null string |
Applies to: | fo:simple-link |
Inherited: | no |
Percentages: | N/A |
Media: | interactive |
Specifies the destination flow object of an fo:simple-link. This property allows the destination flow object node to be explicitly specified.
At least one of the external-destination and internal-destination properties should be assigned. If both are assigned, the system may either report the error, or use the internal-destination property.
XSL Definition:
Value: | replace | new |
Initial: | replace |
Applies to: | fo:simple-link |
Inherited: | no |
Percentages: | N/A |
Media: | interactive |
The current document view should be replaced. However, if the destination area(s) are already available in a page/region, those areas should simply be moved/scrolled "into sight".
A new (additional) document view should always be opened.
Specifies where the destination resource should be displayed.
XSL Definition:
Value: | show | hide |
Initial: | show |
Applies to: | fo:multi-case |
Inherited: | no |
Percentages: | N/A |
Media: | interactive |
The content of the fo:multi-case is a candidate for being displayed initially.
The content of the fo:multi-case is not a candidate for being displayed initially.
Specifies if the fo:multi-case can be initially displayed.
The parent fo:multi-switch shall choose the first fo:multi-case child where the property "starting-state" has the value equal to "show".
NOTE:Any number of the fo:multi-case objects may assign "starting-state" to "show".
If no fo:multi-case has "starting-state" property value of "show", the contents of no fo:multi-case should be displayed.
NOTE:If no multi-case is displayed, the entire fo:multi-switch will effectively be hidden.
XSL Definition:
Value: | xsl-preceding | xsl-following | xsl-any | <name>[ <name>]* |
Initial: | xsl-any |
Applies to: | fo:multi-toggle |
Inherited: | no |
Percentages: | N/A |
Media: | interactive |
Activating the switch should result in that the current fo:multi-case is replaced by its preceding sibling.
NOTE:The current fo:multi-case is the closest ancestor fo:multi-case.
In other words, the current fo:multi-switch should switch to the previous sibling of the fo:multi-case that is currently selected.
NOTE:The current fo:multi-switch is the closest ancestor fo:multi-switch.
It the current fo:multi-case is the first sibling, xsl-preceding should switch to the last fo:multi-case sibling.
Activating the switch should result in that the current fo:multi-case is replaced by its next sibling.
It the current fo:multi-case is the last sibling, xsl-following should switch to the first fo:multi-case sibling.
Activating the switch should allow the user to select any other fo:multi-case sibling.
If there is only a single other fo:multi-case, the toggle should immediately switch to it (and not show that single choice to the user).
A name matching a case-name of an fo:multi-case.
Specifies what fo:multi-case object(s) this fo:multi-toggle shall switch to.
If switch-to is a name list, the user can switch to any of the named multi-case objects. If a multi-toggle with a single name is activated, it should immediately switch to the named multi-case.
NOTE:How to actually select the multi-case from a list is system dependent.
XSL Definition:
Value: | <name> |
Initial: | an empty name |
Applies to: | fo:marker |
Inherited: | no, a value is required |
Percentages: | N/A |
Media: | paged |
Values have the following meanings:
Names used as identifiers must be unique among fo:markers that are (conceptually) attached to the same area.
If the name is empty or if a name-conflict is encountered, an error shall be reported. A processor may then continue processing.
This property identifies the fo:marker as being in a group with others that have the same name, each of which becomes a candidate to be retrieved by an fo:retrieve-marker that has a "retrieve-class-name" property of the same value.
XSL Definition:
Value: | <name> |
Initial: | an empty name |
Applies to: | fo:retrieve-marker |
Inherited: | no, a value is required |
Percentages: | N/A |
Media: | paged |
Values have the following meanings:
A name that matches the "marker-class-name" property value of an fo:marker.
This property constrains that the fo:marker whose children are retrieved by the fo:retrieve-marker must have a "marker-class-name" property value that is the same as the value of this property.
XSL Definition:
Value: | first-starting-within-page | first-including-carryover | last-starting-within-page | last-ending-within-page |
Initial: | first-starting-within-page |
Applies to: | fo:retrieve-marker |
Inherited: | no |
Percentages: | N/A |
Media: | paged |
The term "containing page" is used here to mean the page that contains the first area generated or returned by the children of the retrieved fo:marker.
Values have the following meanings:
Specifies a preference for retrieving the children of an fo:marker attached to an area that is
within the containing page
whose "is-first" trait is set to "true"
and that precedes in the area tree any other similarly constrained area that is attached to an identically named fo:marker, using pre-order traversal order.
Specifies a preference for retrieving the children of an fo:marker attached to an area that is within the containing page and that precedes in the area tree any other similarly constrained area that is attached to an identically named fo:marker, using pre-order traversal order.
Specifies a preference for retrieving the children of an fo:marker attached to an area that is
within the containing page
whose "is-first" trait is set to "true"
and that follows in the area tree any other similarly constrained area that is attached to an identically named fo:marker, using pre-order traversal order.
Specifies a preference for retrieving the children of an fo:marker attached to an area that is within the containing page whose "is-last" trait is set to "true" and that follows in the area tree any other similarly constrained area that is attached to an identically named fo:marker, using pre-order traversal order.
This property specifies the preference for which fo:marker's children shall be retrieved by an fo:retrieve-marker, based on the areas returned by the parent of the fo:marker relative to the areas returned by the parents of other identically named fo:marker's.
XSL Definition:
Value: | page | page-sequence | document |
Initial: | page-sequence |
Applies to: | fo:retrieve-marker |
Inherited: | no |
Percentages: | N/A |
Media: | paged |
The term "containing page" is used here to mean the page that contains the first area generated or returned by the children of the retrieved fo:marker.
Values have the following meanings:
Specifies that the children of any fo:markers whose parent generated or returned a normal area within the containing page or generated non-normal area within the containing page may be retrieved by this fo:retrieve-marker.
Specifies that only the children of fo:markers that are descendants of the fo:flow within the containing fo:page-sequence may be retrieved by this fo:retrieve-marker.
Specifies that the children of any fo:marker that is a descendant of any fo:flow within the document may be retrieved by this fo:retrieve-marker.
XSL Definition:
Value: | <string> |
Initial: | 1. |
Applies to: | fo:page-sequence |
Inherited: | no |
Percentages: | N/A |
Media: | all |
This property is defined in XSLT: Number to String Conversion Attributes.
XSL Definition:
Value: | <character> |
Initial: | no separator |
Applies to: | fo:page-sequence |
Inherited: | no |
Percentages: | N/A |
Media: | all |
This property is defined in XSLT: Number to String Conversion Attributes.
XSL Definition:
Value: | <number> |
Initial: | no grouping |
Applies to: | fo:page-sequence |
Inherited: | no |
Percentages: | N/A |
Media: | all |
This property is defined in XSLT: Number to String Conversion Attributes.
XSL Definition:
Value: | auto | alphabetic | traditional |
Initial: | auto |
Applies to: | fo:page-sequence |
Inherited: | no |
Percentages: | N/A |
Media: | all |
This property is defined in XSLT: Number to String Conversion Attributes. A value of "auto" corresponds to the XSLT definition for when the attribute is not specified.
The following pagination and layout properties are all XSL only.
XSL Definition:
Value: | blank | not-blank | any | inherit |
Initial: | any |
Applies to: | fo:conditional-page-master-reference |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
This property forms part of a selection rule to determine if the referenced page-master is eligible for selection at this point in the page-sequence.
The values have the following meanings:
This master is eligible for selection if a page must be generated (e.g., to maintain proper page parity at the start or end of the page-sequence) and there are no areas from the fo:flow to be put on that page.
This master is eligible for selection if this page contains areas from the fo:flow.
This master is always eligible for selection.
XSL Definition:
Value: | <number> | inherit |
Initial: | 1 |
Applies to: | fo:region-body |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
A positive integer. If a negative or non-integer value is provided, the value will be rounded to the nearest integer value greater than or equal to 1.
Specifies the number of columns in the region.
A value of 1 indicates that this is not a multi-column region.
XSL Definition:
Value: | <length> | <percentage> | inherit |
Initial: | 12.0pt |
Applies to: | fo:region-body |
Inherited: | no |
Percentages: | refer to width of the region being divided into columns. |
Media: | visual |
Values have the following meanings:
This is an unsigned length. If a negative value has been specified a value of 0pt will be used.
The value is a percentage of the inline-progression-dimension of the content-rectangle of the region.
Specifies the width of the separation between adjacent columns in a multi-column region. See the description in [6.4.13 fo:region-body] for further details.
XSL Definition:
Value: | <length> | <percentage> | inherit |
Initial: | 0.0pt |
Applies to: | fo:region-before, fo:region-after, fo:region-start, fo:region-end |
Inherited: | no |
Percentages: | refer to the corresponding height or width of the region reference-area. |
Media: | visual |
Values have the following meanings:
This is an unsigned length. If a negative value has been specified a value of 0pt will be used.
The value is a percentage of corresponding height or width of the page.
Specifies the width of the region-start or region-end or the height of the region-before or region-after.
XSL Definition:
Value: | <name> |
Initial: | an empty name |
Applies to: | fo:flow, fo:static-content |
Inherited: | no, a value is required |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Names used as identifiers must be unique within an fo:page-sequence.
If the name is empty or if a name-conflict is encountered, an error shall be reported. A processor may then continue processing.
Defines the name of the flow.
The flow-name and region-name are used to assign the flow's content (or static-content's content) to a specific region or series of regions in the layout. In XSL this is done by specifying the name of the target region as the flow-name. (For example, text placed in the region-body would specify flow-name="xsl-region-body".)
XSL Definition:
Value: | auto | even | odd | end-on-even | end-on-odd | no-force | inherit |
Initial: | auto |
Applies to: | fo:page-sequence |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Force-page-count is used to impose a constraint on the number of pages in a page-sequence. In the event that this constraint is not satisfied, an additional page will be added to the end of the sequence. This page becomes the "last" page of that sequence.
The values have the following meanings:
Force the last page in this page-sequence to be an odd-page if the initial-page-number of the next page-sequence is even. Force it to be an even-page if the initial-page-number of the next page-sequence is odd. If there is no next page-sequence or if the value of its initial-page-number is "auto" do not force any page.
Force an even number of pages in this page-sequence.
Force an odd number of pages in this page-sequence.
Force the last page in this page-sequence to be an even-page.
Force the last page in this page-sequence to be an odd-page.
Do not force either an even or an odd number of pages in this page-sequence
NOTE:Whether a page is an odd-page or even-page is determined from the page-number trait.
XSL Definition:
Value: | auto | auto-odd | auto-even | <number> | inherit |
Initial: | auto |
Applies to: | fo:page-sequence |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
The initial number shall be set to 1 if no previous fo:page-sequence exists in the document.
If a preceding page-sequence exists, the initial number will be one greater than the last number for that sequence.
A value is determined in the same manner as for "auto". If that value is an even number 1 is added.
A value is determined in the same manner as for "auto". If that value is an odd number 1 is added.
A positive integer. If a negative or non-integer value is provided, the value will be rounded to the nearest integer value greater than or equal to 1.
Sets the initial-page-number to be used on this page-sequence.
XSL Definition:
Value: | <name> |
Initial: | an empty name |
Applies to: | fo:page-sequence, fo:simple-page-master, fo:page-sequence-master, fo:single-page-master-reference, fo:repeatable-page-master-reference, fo:conditional-page-master-reference |
Inherited: | no, a value is required |
Percentages: | N/A |
Media: | viaual |
Values have the following meanings:
Names used as master identifiers may not be empty and must be unique.
Uses of the name to reference a given named object need not be unique, but may not be empty and must refer to a master-name that exists within the document.
This property is used for two purposes:
Identifying a master:
If this property is specified on an fo:simple-page-master, it provides an identifying name of the master. This name is subsequently referenced as the value of properties on the following formatting objects: fo:single-page-master-reference, fo:repeatable-page-master-reference, and fo:conditional-page-master-reference to request the use of this master when creating a page instance. It may also be used on an fo:page-sequence to specify the use of this master when creating page instances.
If this property is specified on an fo:page-sequence-master, it provides an identifying name of the master. This name is subsequently referenced as the value of properties on the fo:page-sequence to request the use of this page-sequence-master when creating page instances.
A master-name must be unique across all page-masters and page-sequence-masters.
If the name is empty or if a name-conflict is encountered, an error shall be reported. A processor may then continue processing.
Selecting a master:
If this property is specified on the fo:page-sequence it specifies the name of the page-sequence-master or page-master to be used to create pages in the sequence.
If this property is specified on the fo:single-page-master-reference, it specifies the name of the page-master to be used to create a single page instance.
If this property is specified on the fo:repeatable-page-master-reference, it specifies the name of the page-master to be used in repetition until the content is exhausted or the maximum-repeats limit is reached, whichever occurs first.
If this property is specified on the fo:conditional-page-master-reference, it specifies the name of the page-master to be used whenever this alternative is chosen.
If the name is empty or if a name-conflict is encountered, an error shall be reported. A processor may then continue processing.
XSL Definition:
Value: | <number> | no-limit | inherit |
Initial: | no-limit |
Applies to: | fo:repeatable-page-master-reference, fo:repeatable-page-master-alternatives |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Specifies the constraint on the maximum number of pages in the sub-sequence of pages that may be generated by an fo:page-sequence that uses the fo:repeatable-page-master-reference or fo:repeatable-page-master-alternatives on which this property is specified.
The values have the following meanings:
No constraint is specified.
The maximum number of pages in the sub-sequence.
The value is an integer greater than or equal to 0.
If a fractional value or a value less than 0 is specified, it will be rounded to the nearest integer greater than or equal to 0.
A value of 0 indicates this master-reference will not be used.
XSL Definition:
Value: | odd | even | any | inherit |
Initial: | any |
Applies to: | fo:conditional-page-master-reference |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
This property forms part of a selection rule to determine if the referenced page-master is eligible for selection at this point in the page-sequence.
The values have the following meanings:
This master is eligible for selection if the page number is odd.
This master is eligible for selection if the page number is even.
This master is eligible for selection regardless of whether the page number is odd or even.
NOTE:"Page number" refers to the page-number trait for the page to be generated.
XSL Definition:
Value: | auto | indefinite | <length> | inherit |
Initial: | auto |
Applies to: | fo:simple-page-master |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
The "page-height" shall be determined by the formatter from the height of the media or browser window. If media information is not available this dimension shall be implementation-defined.
NOTE:A fallback to 11.0in would fit on both 8+1/2x11 and A4 pages).
The height of the page is determined from the size of the laid-out content.
"Page-width" and "page-height" may not both be set to "indefinite". Should that occur, the dimension that is parallel to the block-progression-direction, as determined by the "reference-orientation" and "writing-mode" on the fo:simple-page-master, of the page-reference-area will remain "indefinite" and the other will revert to "auto".
Specifies a fixed height for the page.
Specifies the height of a page.
XSL Definition:
Value: | first | last | rest | any | inherit |
Initial: | any |
Applies to: | fo:conditional-page-master-reference |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
This property forms part of a selection rule to determine if the referenced page-master is eligible for selection at this point in the page-sequence.
The values have the following meanings:
This master is eligible for selection if this is the first page in the page-sequence.
This master is eligible for selection if this is the last page in the page-sequence.
This master is eligible for selection if this is not the first page nor the last page in the page-sequence.
This master is eligible for selection regardless of page positioning within the page-sequence.
XSL Definition:
Value: | auto | indefinite | <length> | inherit |
Initial: | auto |
Applies to: | fo:simple-page-master |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
The "page-width" shall be determined by the formatter from the width of the media or browser window. If media information is not available this dimension shall be implementation-defined.
NOTE:A fallback to 8.26in would fit on both 8+1/2x11 and A4 pages).
The width of the page is determined from the size of the laid-out content.
"Page-width" and "page-height" properties may not both be set to "indefinite". Should that occur, the dimension that is parallel to the block-progression-direction, as determined by the "reference-orientation" and "writing-mode" on the fo:simple-page-master, of the page-reference-area will remain "indefinite" and the other will revert to "auto".
Specifies a fixed width for the page.
Specifies the width of a page.
XSL Definition:
Value: | true | false | inherit |
Initial: | false |
Applies to: | fo:before-region, fo:after-region, fo:start-region, fo:end-region |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
A value of false specifies that this region does not extend to the page margins. This region has the same width or height as the body.
A value of true specifies that this region takes precedence and extends across the full size of the page or view.
Specifies which region (i.e., region-before, region-after, region-start, or region-end) takes precedence in terms of which may extend into the corners of the simple-page-master.
If both adjacent regions have equal precedence, the before-region or after-region is treated as if 'true' had been specified and the start-region or end-region will be treated as if 'false' had been specified.
XSL Definition:
Value: | xsl-region-body | xsl-region-start | xsl-region-end | xsl-region-before | xsl-region-after | xsl-before-float-separator | xsl-footnote-separator | <name> |
Initial: | see prose |
Applies to: | fo:region-body, fo:region-start, fo:region-end, fo:region-before, and fo:region-after |
Inherited: | no, a value is required |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Reserved region-name for use as default name of fo:region-body. This name may not be used on any other class of region.
Reserved region-name for use as default name of fo:region-start. This name may not be used on any other class of region.
Reserved region-name for use as default name of fo:region-end. This name may not be used on any other class of region.
Reserved region-name for use as default name of fo:region-before. This name may not be used on any other class of region.
Reserved region-name for use as default name of fo:region-after. This name may not be used on any other class of region.
Reserved name for content to be used as a separator at the end-edge of a before-float-reference-area. This name may not be used on any other class of region.
Reserved name for content to be used as a separator at the start-edge of a footnote-reference-area. This name may not be used on any other class of region.
Names used as identifiers must be unique within a page-master.
This property is used to identify a region within a simple-page-master.
The "region-name" may be used to differentiate a region that lies on a page-master for an odd page from a region that lies on a page-master for an even page. In this usage, once a name is used for a specific class of region (start, end, before, after, or body), that name may only be used for regions of the same class in any other page-master. The reserved names may only be used in the manner described above.
CSS2 Definition:
Value: | collapse | separate | inherit |
Initial: | collapse |
Applies to: | table |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/tables.html#propdef-border-collapse.
The value "collapse" selects the collapsing borders model.
The value "separate" selects the separated borders border model.
This property selects a table's border model. The value "separate" selects the separated borders border model. The value "collapse" selects the collapsing borders model.
XSL Definition:
Value: | <length-bp-ip-direction> | inherit |
Initial: | .block-progression-direction="0pt" .inline-progression-direction="0pt" |
Applies to: | table |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
The lengths specify the distance that separates adjacent cell borders in the row-stacking-direction (given by the block-progression-direction of the table), and in the column-stacking-direction (given by the inline-progression-direction of the table).
In the separate borders model, each cell has an individual border. The "border-separation" 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).
CSS2 Definition:
Value: | before | after | start | end | top | bottom | left | right | inherit |
Initial: | before |
Applies to: | fo:table-caption |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/tables.html#q6.
Positions the caption box above the table box.
Positions the caption box below the table box.
Positions the caption box to the left of the table box.
Positions the caption box to the right of the table box.
This property specifies the position of the caption box with respect to the table box.
Captions above or below a "table" element are formatted very much as if they were a block element before or after the table, except that (1) they inherit inheritable properties from the table, and (2) they are not considered to be a block box for the purposes of any "compact" or "run-in" element that may precede the table.
A caption that is above or below a table box also behaves like a block box for width calculations; the width is computed with respect to the width of the table box's containing block.
For a caption that is on the left or right side of a table box, on the other hand, a value other than "auto" for "width" sets the width explicitly, but "auto" tells the user agent to chose a "reasonable width". This may vary between "the narrowest possible box" to "a single line", so we recommend that users do not specify "auto" for left and right caption widths.
To align caption content horizontally within the caption box, use the "text-align" property. For vertical alignment of a left or right caption box with respect to the table box, use the "vertical-align" property. The only meaningful values in this case are "top", "middle", and "bottom". All other values are treated the same as "top".
XSL modifications to the CSS definition:
Insert the following writing-mode relative values:
Positions the caption before the table in the block-progression-direction.
Positions the caption after the table in the block-progression-direction.
Positions the caption before the table in the inline-progression-direction.
Positions the caption after the table in the inline-progression-direction.
The CSS qualifications (1) and (2) do not apply. The last three sentences in the last paragraph (referencing "vertical-align") do not apply.
XSL Definition:
Value: | <number> |
Initial: | see prose |
Applies to: | fo:table-column, fo:table-cell |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
A positive integer. If a negative or non-integer value is provided, the value will be rounded to the nearest integer value greater than or equal to 1.
For an fo:table-column formatting object, it specifies the column-number of the table cells that may use properties from this fo:table-column formatting object by using the from-table-column() function. The initial value is 1 plus the column-number of the previous table-column, if there is a previous table-column, and otherwise 1.
For an fo:table-cell it specifies the number of the first column to be spanned by the table-cell. The initial value is the current column-number. For the first table-cell in a table-row, the current column number is 1. For other table-cells, the current column-number is the column-number of the previous table-cell in the row plus the number of columns spanned by that previous cell.
XSL Definition:
Value: | <length> |
Initial: | see prose |
Applies to: | fo:table-column |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
The "column-width" property specifies the width of the column whose value is given by the "column-number" property. This property, if present, is ignored if the "number-columns-spanned" property is greater than 1. The "width" property must be specified for every column, unless the automatic table layout is used.
CSS2 Definition:
Value: | show | hide | inherit |
Initial: | show |
Applies to: | table-cell |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/tables.html#propdef-empty-cells.
When this property has the value "show", borders are drawn around empty cells (like normal cells).
A value of "hide" means that no borders are drawn around empty cells. Furthermore, if all the cells in a row have a value of "hide" and have no visible content, the entire row behaves as if it had "display: none".
In the separated borders model, this property controls the rendering of borders around cells that have no visible content. Empty cells and cells with the "visibility" property set to "hidden" are considered to have no visible content. Visible content includes "& " (non-breaking-space) and other whitespace except ASCII CR ("\0D"), LF ("\0A"), tab ("\09"), and space ("\20").
XSL Definition:
Value: | yes | no |
Initial: | no |
Applies to: | fo:table-cell |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
This cell ends a row.
This cell does not end a row.
Specifies whether this cell ends a row. This is only allowed for table-cells that are not in table-rows.
XSL Definition:
Value: | <number> |
Initial: | 1 |
Applies to: | fo:table-column |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
A positive integer. If a negative or non-integer value is provided, the value will be rounded to the nearest integer value greater than or equal to 1.
The "number-columns-repeated" property specifies the repetition of a table-column specification n times; with the same effect as if the fo:table-column formatting object had been repeated n times in the result tree. The "column-number" property, for all but the first, is the column-number of the previous one plus its value of the "number-columns-spanned" property.
NOTE:This handles HTML's "colgroup" element.
XSL Definition:
Value: | <number> |
Initial: | 1 |
Applies to: | fo:table-column, fo:table-cell |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
A positive integer. If a negative or non-integer value is provided, the value will be rounded to the nearest integer value greater than or equal to 1.
For an fo:table-column the "number-columns-spanned" property specifies the number of columns spanned by table-cells that may use properties from this fo:table-column formatting object using the from-table-column() function.
For an fo:table-cell the "number-columns-spanned" property specifies the number of columns which this cell spans in the column-progression-direction starting with the current column.
XSL Definition:
Value: | <number> |
Initial: | 1 |
Applies to: | fo:table-cell |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
A positive integer. If a negative or non-integer value is provided, the value will be rounded to the nearest integer value greater than or equal to 1.
The "number-rows-spanned" property specifies the number of rows which this cell spans in the row-progression-direction starting with the current row.
XSL Definition:
Value: | yes | no |
Initial: | no |
Applies to: | fo:table-cell |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
This cell starts a row.
This cell does not start a row.
Specifies whether this cell starts a row. This is only allowed for table-cells that are not in table-rows.
NOTE:The "starts-row" and "ends-row" properties with a "yes" value are typically used when the input data does not have elements containing the cells in each row, but instead, for example, each row starts at elements of a particular type.
CSS2 Definition:
Value: | auto | fixed | inherit |
Initial: | auto |
Applies to: | table |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/tables.html#propdef-table-layout.
Use the fixed table layout algorithm
Use any automatic table layout algorithm
The "table-layout" property controls the algorithm used to lay out the table cells, rows, and columns.
XSL Definition:
Value: | yes | no |
Initial: | no |
Applies to: | fo:table |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
This property specifies that the footer should be omitted.
This property specifies that the footer should not be omitted.
The "table-omit-footer-at-break" property specifies if a table whose last area is not at the end of an area produced by the table should end with the content of the fo:table-header formatting object or not.
XSL Definition:
Value: | yes | no |
Initial: | no |
Applies to: | fo:table |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
This property specifies that the header should be omitted.
This property specifies that the header should not be omitted.
The "table-omit-header-at-break" property specifies if a table whose first area is not at the beginning of an area produced by the table should start with the content of the fo:table-header formatting object or not.
CSS2 Definition:
Value: | ltr | rtl | inherit |
Initial: | ltr |
Applies to: | all elements, but see prose |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-direction.
This property specifies the base writing direction of blocks and the direction of embeddings and overrides (see 'unicode-bidi') for the Unicode bidirectional algorithm. In addition, it specifies the direction of table column layout, the direction of horizontal overflow, and the position of an incomplete last line in a block in case of 'text-align: justify'.
Values for this property have the following meanings:
Left to right direction.
Right to left direction.
For the 'direction' property to have any effect on inline-level elements, the 'unicode-bidi' property's value must be 'embed' or 'override'.
NOTE:The 'direction' property, when specified for table column elements, is not inherited by cells in the column since columns don't exist in the document tree. Thus, CSS cannot easily capture the "dir" attribute inheritance rules described in [HTML40], section 11.3.2.1.
XSL modifications to the CSS definition:
This property overrides the inline-progression-direction determined by the current writing-mode and the Unicode bidirectional algorithm.
This property only has an effect on text in which the glyph-orientation is perpendicular to the inline-progression-direction. Therefore, vertical ideographic text is not affected by this property, but rotated non-ideographic text is.
Except for the specific use of "direction" and "unicode-bidi" on inline objects solely to override the Unicode bidi algorithm, all uses of the "direction" property from CSS are deprecated for use in XSL. The following is the proper handling of "direction" and "writing-mode" in XSL:
Block-stacking is governed by the "writing-mode" on the fo:region-body, fo:region-before, fo:region-after, fo:region-start, fo:region-end, fo:block-container, and fo:inline-container
Inline-stacking, except as described for fo:bidi-override and as overridden through the combination of the "unicode-bidi" and "direction" properties at the inline-level, is governed by XSL's "writing-mode" on the fo:region-body, fo:region-before, fo:region-after, fo:region-start, fo:region-end, fo:block-container, and fo:inline-container.
Table column layout is governed by the "writing-mode" on the fo:table (columns use the inline-progression-direction, and rows use the block-progression-direction).
Horizontal overflow is governed by the "writing-mode" and "text-align" in effect on the overflowing area.
When mapping CSS to XSL, the XSL "writing-mode" property should be used rather than the "direction" property for all block-level directionality control. XSL's "writing-mode" should also be used for any inline-container or block-container objects. The "direction" property should be used only for control/overrides of the Unicode-bidi algorithm on bidi-override formatting objects.
XSL Definition:
Value: | use-font-metrics | <length> | inherit |
Initial: | use-font-metrics |
Applies to: | fo:block, fo:character, fo:leader |
Inherited: | no |
Percentages: | refer to font's em-height |
Media: | visual |
Values have the following meanings:
Uses a value for the height of the font below the baseline obtained from the actual font used for fo:character and for fo:leader when the leader-pattern has the value "use-content", the nominal font in all other cases.
Replaces the height value found in the font.
Specifies the height to be used for the descent below the font's reference-position (baseline).
XSL Definition:
Value: | use-font-metrics | <length> | inherit |
Initial: | use-font-metrics |
Applies to: | fo:block, fo:character, fo:leader |
Inherited: | no |
Percentages: | refer to font's em-height |
Media: | visual |
Values have the following meanings:
Uses a value for the height of the font above the baseline obtained from the actual font used for fo:character and for fo:leader when the leader-pattern has the value "use-content", the nominal font in all other cases.
Replaces the height value found in the font.
Specifies the height to be used for the ascent above the font's reference-position (baseline).
XSL Definition:
Value: | <angle> | inherit |
Initial: | 0 |
Applies to: | fo:character |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
The angle is restricted to a range of -360 to +360 in 90-degree increments.
A value of "0" indicates that all glyphs are set with the top of the glyphs toward the top of the reference-area. The top of the reference-area is defined by the reference-area's reference-orientation.
A value of "90" indicates a rotation of 90-degrees clockwise from the "0" orientation.
The angle value is computed modulo 360; thus a value of "-90" or a value of "270" indicates a rotation of 90-degrees counter-clockwise from the "0" orientation.
This property specifies the orientation of glyphs relative to the path direction specified by the 'writing-mode'. This property is applied only to text written left-to-right or right-to-left.
XSL Definition:
Value: | auto | <angle> | inherit |
Initial: | auto |
Applies to: | fo:character |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Fullwidth ideographic and fullwidth Latin text (excluding ideographic punctuation) will be set with a glyph-orientation of 0.
Ideographic punctuation and other ideographic characters having alternate horizontal and vertical forms will use the vertical form of the glyph.
Text which is not fullwidth will be set with a glyph-orientation of 90.
This reorientation rule applies only to the first-level non-ideographic text. All further embedding of writing-modes or bidi processing will be based on the first-level rotation.
NOTE:
This is equivalent to having set the non-ideographic text string horizontally honoring the bidi-rule, then rotating the resultant sequence of inline-areas (one area for each change of glyph direction) 90-degrees clockwise.
It should be noted that text set in this "rotated" manner may contain ligatures or other glyph combining and reordering common to the language and script. (This "rotated" presentation form does not disable auto-ligature formation or similar context-driven variations.)
The determination of which characters should be auto-rotated may vary across User Agents. The determination is based on a complex interaction between country, language, script, character properties, font, and character context. It is suggested that one consult the Unicode TR 11 and the various JIS or other national standards.
The angle is restricted to a range of -360 to +360 in 90-degree increments.
A value of "0" indicates that all glyphs are set with the top of the glyphs toward the top of the reference-area. The top of the reference-area is defined by the reference-area's reference-orientation.
A value of "90" indicates a rotation of 90-degrees clockwise from the "0" orientation.
The angle value is computed modulo 360; thus a value of "-90" or a value of "270" indicates a rotation of 90-degrees counter-clockwise from the "0" orientation.
This property specifies the orientation of glyphs relative to the path direction specified by the writing-mode. This property is applied only text written top-to-bottom or bottom-to-top.
Its most common usage is to differentiate between the preferred orientation of alphabetic text in vertically written Japanese documents (glyph-orientation="auto") vs. the orientation of alphabetic text in western signage and advertising (glyph-orientation="0").
CSS2 Definition:
Value: | normal | embed | bidi-override | inherit |
Initial: | normal |
Applies to: | all elements, but see prose |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-unicode-bidi.
Values have the following meanings:
The element does not open an additional level of embedding with respect to the bidirectional algorithm.
For inline-level elements, implicit reordering works across element boundaries.
If the element is inline-level, this value opens an additional level of embedding with respect to the bidirectional algorithm. The direction of this embedding level is given by the 'direction' property. Inside the element, reordering is done implicitly. This corresponds to adding a LRE (U+202A; for 'direction: ltr') or RLE (U+202B; for 'direction: rtl') at the start of the element and a PDF (U+202C) at the end of the element.
If the element is inline-level or a block-level element that contains only inline-level elements, this creates an override. This means that inside the element, reordering is strictly in sequence according to the 'direction' property; the implicit part of the bidirectional algorithm is ignored. This corresponds to adding a LRO (U+202D; for 'direction: ltr') or RLO (U+202E; for 'direction: rtl') at the start of the element and a PDF (U+202C) at the end of the element.
The final order of characters in each block-level element is the same as if the bidi control codes had been added as described above, markup had been stripped, and the resulting character sequence had been passed to an implementation of the Unicode bidirectional algorithm for plain text that produced the same line-breaks as the styled text. In this process, non-textual entities such as images are treated as neutral characters, unless their 'unicode-bidi' property has a value other than 'normal', in which case they are treated as strong characters in the 'direction' specified for the element.
Please note that in order to be able to flow inline boxes in a uniform direction (either entirely left-to-right or entirely right-to-left), more inline boxes (including anonymous inline boxes) may have to be created, and some inline boxes may have to be split up and reordered before flowing.
Because the Unicode algorithm has a limit of 15 levels of embedding, care should be taken not to use 'unicode-bidi' with a value other than 'normal' unless appropriate. In particular, a value of 'inherit' should be used with extreme caution. However, for elements that are, in general, intended to be displayed as blocks, a setting of 'unicode-bidi: embed' is preferred to keep the element together in case display is changed to inline.
XSL modifications to the CSS definition:
The phasing of the first paragraph of the general description (following the value breakouts) should read "The final order of presentation of the characters...".
In Unicode 3.0, the Unicode Consortium has increased the limit of the levels of embedding to 61 (definition BD2 in [UNICODE TR9]).
Fallback:
If it is not possible to present the characters in the correct order, then the User Agent should display either and "unsupported character glyph" or display some indication that the content cannot be correctly rendered.
XSL Definition:
Value: | lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit |
Initial: | lr-tb |
Applies to: | see prose |
Inherited: | yes (see prose) |
Percentages: | N/A |
Media: | visual |
NOTE:This version of the writing-mode property covers the base writing-modes that are used as the official languages of the United Nations. For information regarding additional writing-modes, please see the "Internationalization Appendix".
Values have the following meanings:
Inline components and text within a line are written left-to-right. Lines and blocks are placed top-to-bottom.
NOTE:Typically, this is the writing-mode for normal "alphabetic" text.
Establishes the following directions:
inline-progression-direction to left-to-right
If any right-to-left reading characters are present in the text, the inline-progression-direction for glyph-areas may be further modified by the Unicode bidi algorithm.
block-progression-direction to top-to-bottom
shift-direction to bottom-to-top
Inline components and text within a line are written right-to-left. Lines and blocks are placed top-to-bottom.
NOTE:Typically, this writing mode is used in Arabic and Hebrew text.
Establishes the following directions:
inline-progression-direction to right-to-left
If any left-to-right reading characters or numbers are present in the text, the inline-progression-direction for glyph-areas may be further modified by the Unicode bidi algorithm.
block-progression-direction to top-to-bottom
shift-direction to bottom-to-top
Inline components and text within a line are written top-to-bottom. Lines and blocks are placed right-to-left.
NOTE:Typically, this writing mode is used in Chinese and Japanese text.
Establishes the following directions:
inline-progression-direction to top-to-bottom
block-progression-direction to right-to-left
shift-direction to left-to-right
Shorthand for lr-tb.
Shorthand for rl-tb.
Shorthand for tb-rl.
The "writing-mode" property is applied (processed and converted to the three direction traits) only on formatting objects that set up a reference-area (for XSL these are: fo:simple-page-master, fo:region-*, fo:table, fo:block-container, and fo:inline-container. Each value of writing-mode sets all three of the direction traits indicated in each of the value descriptions above on the reference-area. (See the area model for a description of the direction traits and their usage.)
When "writing-mode" is applied to the simple-page-master, it is used to determine the placement of the five regions on the master.
When "writing-mode" is applied to the fo:*-region, it defines the column-progression within each region. The inline-progression-direction is used to determine the stacking direction for columns (and the default flow order of text from column-to-column).
To change the "writing-mode" within an fo:flow or fo:static-content, either the fo:block-container or the fo:inline-container, as appropriate, should be used.
If one only wishes to change the inline-progression-direction to override the Unicode bidi-rule, one need not use an fo:inline-container. Instead, one may use the "direction" property on the fo:bidi-override.
When "writing-mode" is applied to the fo:table, it controls the layout of the rows and columns. Table-rows use the block-progression-direction as the row-stacking direction. The inline-progression-direction is used to determine the stacking direction for columns (and cell order within the row).
Implementations must support at least one of the "writing-mode" values defined in this Recommendation.
XSL Definition:
Value: | <string> | auto |
Initial: | auto |
Applies to: | fo:external-graphic, fo:instream-foreign-object |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
This property specifies the content-type and may be used by a User Agent to select a rendering processor for the object.
Values for this property have the following meanings:
No identification of the content-type. The User Agent may determine it by "sniffing" or by other means.
A specification of the content-type in terms of either a mime-type or a namespace.
A mime-type specification has the form "content-type:" followed by a mime content-type, e.g., content-type="content-type:xml/svg".
A namespace specification has the form "namespace-prefix:" followed by a declared namespace prefix, e.g., content-type="namespace-prefix:svg". If the namespace prefix is null, the content-type refers to the default namespace.
XSL Definition:
Value: | <id> |
Initial: | see prose |
Applies to: | all formatting objects |
Inherited: | no, see prose |
Percentages: | N/A |
Media: | all |
Values have the following meanings:
An identifier unique within all objects in the result tree with the fo: namespace. It allows references to this formatting object by other objects.
The "inherit" value is not allowed on this property.
The initial value of this property is random and unique identifier. The algorithm to generate this identifier is system-dependent.
XSL Definition:
Value: | <length> | inherit |
Initial: | 6.0pt |
Applies to: | fo:list-block |
Inherited: | yes |
Percentages: | refer to width of the containing box |
Media: | visual |
Values have the following meanings:
Specifies the provisional distance between the end of the list-item-label and the start of the list-item-body. The value is not directly used during formatting, but is used in the computation of the value of the label-end variable.
NOTE:label-end() = width of the content-rectangle of the reference-area into which the list-block is placed - (the value of the provisional-distance-between-starts + the value of the start-indent - the value of the provisional-label-separation) of the closest ancestor fo:list-block.
XSL Definition:
Value: | <length> | inherit |
Initial: | 24.0pt |
Applies to: | fo:list-block |
Inherited: | yes |
Percentages: | refer to width of the containing box |
Media: | visual |
Values have the following meanings:
Specifies the provisional distance between the start-indent of the list-item-label and the start-indent of the list-item-body. The value is not directly used during formatting, but is used in the computation of the value of the body-start variable.
NOTE:body-start() = the value of the start-indent + the value of the provisional-distance-between-starts of the closest ancestor fo:list-block.
XSL Definition:
Value: | <idref> | inherit |
Initial: | none, value required |
Applies to: | fo:page-number-citation |
Inherited: | no |
Percentages: | N/A |
Media: | all |
Values have the following meanings:
The "id" of an object in the formatting object tree.
Reference to the object having the specified unique identifier.
XSL Definition:
Value: | true | false | inherit |
Initial: | true |
Applies to: | see prose |
Inherited: | yes |
Percentages: | see prose |
Media: | visual |
Values have the following meanings:
Text-decoration will be applied to spaces
Text-decoration will not be applied to spaces
Specifies whether the text-decoration property shall be applied to spaces.
XSL Definition:
Value: | <uri> | inherit |
Initial: | none, value required |
Applies to: | fo:external-graphic |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
Specifies the URI to locate an external resource such as image/graphic data to be included as the content of this object, or color-profile data.
CSS2 Definition:
Value: | visible | hidden | collapse | inherit |
Initial: | visible |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visufx.html#propdef-visibility.
The 'visibility' property specifies whether the boxes generated by an element are rendered. Invisible boxes still affect layout (set the 'display' property to 'none' to suppress box generation altogether). Values have the following meanings:
The generated box is visible.
The generated box is invisible (fully transparent), but still affects layout.
Please consult the section on dynamic row and column effects in tables. If used on elements other than rows or columns, "collapse" has the same meaning as "hidden".
This property may be used in conjunction with scripts to create dynamic effects.
XSL modifications to the CSS definition:
Changed initial value to visible (is "inherit" in CSS).
CSS2 Definition:
Value: | auto | <integer> | inherit |
Initial: | auto |
Applies to: | positioned elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-z-index.
For a positioned box, the "z-index" property specifies:
1. The stack level of the box in the current stacking context.
2. Whether the box establishes a local stacking context.
Values have the following meanings:
The stack level of the generated box in the current stacking context is the same as its parent's box. The box does not establish a new local stacking context.
This integer is the stack level of the generated box in the current stacking context. The box also establishes a local stacking context in which its stack level is "0".
This example [see the CSS specification] demonstrates the notion of transparency. The default behavior of a box is to allow boxes behind it to be visible through transparent areas in its content. In the example, each box transparently overlays the boxes below it. This behavior can be overridden by using one of the existing background properties.
The following properties are all shorthand properties. Shorthands are only included in the highest XSL conformance level: "complete".
CSS2 Definition:
Value: | [<background-color> || <background-image> || <background-repeat> || <background-attachment> || <background-position> | ]]inherit |
Initial: | not defined for shorthand properties |
Applies to: | all elements |
Inherited: | no |
Percentages: | allowed on 'background-position' |
Media: | visual |
CSS2 Reference: 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.
CSS2 Definition:
Value: | [ [<percentage> | <length> ]{1,2} | [ [top | center | bottom] || [left | center | right] ] ] | inherit |
Initial: | 0% 0% |
Applies to: | block-level and replaced elements |
Inherited: | no |
Percentages: | refer to the size of the box itself |
Media: | visual |
CSS2 Reference: 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.
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.
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.
Same as 0% 0%.
Same as 50% 0%.
Same as 100% 0%.
Same as 0% 50%.
Same as 50% 50%.
Same as 100% 50%.
Same as 0% 100%.
Same as 50% 100%.
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:
background-position-horizontal="<percentage>"
background-position-vertical="50%"
background-position-horizontal="<percentage1>"
background-position-vertical="<percentage2>"
background-position-horizontal="<length>"
background-position-vertical="50%"
background-position-horizontal="<length1>"
background-position-vertical="<length2>"
background-position-horizontal="<length>"
background-position-vertical="<percentage>"
background-position-horizontal="<percentage>"
background-position-vertical="<length>"
background-position-horizontal="0%"
background-position-vertical="0%"
background-position-horizontal="50%"
background-position-vertical="0%"
background-position-horizontal="100%"
background-position-vertical="0%"
background-position-horizontal="0%"
background-position-vertical="50%"
background-position-horizontal="50%"
background-position-vertical="50%"
background-position-horizontal="100%"
background-position-vertical="50%"
background-position-horizontal="0%"
background-position-vertical="100%"
background-position-horizontal="50%"
background-position-vertical="100%"
background-position-horizontal="100%"
background-position-vertical="100%"
CSS2 Definition:
Value: | [ <border-width> || <border-style> || <color> ] | inherit |
Initial: | see individual properties |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: 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 [5.3.1 Border and Padding Properties] for information on the precedence order of properties.
CSS2 Definition:
Value: | [ <border-top-width> || <border-style> || <color> ] | inherit |
Initial: | see individual properties |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: 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.
CSS2 Definition:
Value: | <color>{1,4} | transparent | inherit |
Initial: | see individual properties |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: 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:
The border is transparent (though it may have width).
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.
CSS2 Definition:
Value: | [ <border-top-width> || <border-style> || <color> ] | inherit |
Initial: | see individual properties |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: 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.
CSS2 Definition:
Value: | [ <border-top-width> || <border-style> || <color> ] | inherit |
Initial: | see individual properties |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: 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.
CSS2 Definition:
Value: | <border-style>{1,4} | inherit |
Initial: | see individual properties |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: 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.
CSS2 Definition:
Value: | <length> <length>? | inherit |
Initial: | 0pt |
Applies to: | table |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/tables.html#propdef-border-spacing.
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.
CSS2 Definition:
Value: | [ <border-top-width> || <border-style> || <color> ] | inherit |
Initial: | see individual properties |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: 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.
CSS2 Definition:
Value: | <border-width>{1,4} | inherit |
Initial: | see individual properties |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: 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.
CSS2 Definition:
Value: | <cue-before> || <cue-after> | inherit |
Initial: | not defined for shorthand properties |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-cue.
CSS2 Definition:
Value: | [ [ <font-style> || <font-variant> || <font-weight> ]? <font-size> [ / <line-height>]? <font-family> ] | caption | icon | menu | message-box | small-caption | status-bar | inherit |
Initial: | see individual properties |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: 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:
The font used for captioned controls (e.g., buttons, drop-downs, etc.).
The font used to label icons.
The font used in menus (e.g., dropdown menus and menu lists).
The font used in dialog boxes.
The font used for labeling small controls.
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 "smallcaption" 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.
CSS2 Definition:
Value: | <margin-width>{1,4} | inherit |
Initial: | not defined for shorthand properties |
Applies to: | all elements |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
CSS2 Reference: 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 [5 Property Refinement / Resolution].
CSS2 Definition:
Value: | <padding-width>{1,4} | inherit |
Initial: | not defined for shorthand properties |
Applies to: | all elements |
Inherited: | no |
Percentages: | refer to width of containing block |
Media: | visual |
CSS2 Reference: 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.
CSS2 Definition:
Value: | auto | always | avoid | left | right | inherit |
Initial: | auto |
Applies to: | block-level elements, list-item, and table-row. |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/page.html#propdef-page-break-after.
Values for these properties have the following meanings:
Neither force nor forbid a page break before (after, inside) the generated box.
Always force a page break before (after) the generated box.
Avoid a page break before (after, inside) the generated box.
Force one or two page breaks before (after) the generated box so that the next page is formatted as a left page.
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:
break-after = "auto"
keep-with-next = "auto"
break-after = "page"
keep-with-next = "auto"
break-after = "auto"
keep-with-next = "always"
break-after = "even-page"
keep-with-next = "auto"
break-after = "odd-page"
keep-with-next = "auto"
CSS2 Definition:
Value: | auto | always | avoid | left | right | inherit |
Initial: | auto |
Applies to: | block-level elements, list-item, and table-row. |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/page.html#propdef-page-break-before.
Values for these properties have the following meanings:
Neither force nor forbid a page break before (after, inside) the generated box.
Always force a page break before (after) the generated box.
Avoid a page break before (after, inside) the generated box.
Force one or two page breaks before (after) the generated box so that the next page is formatted as a left page.
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:
break-before = "auto"
keep-with-previous = "auto"
break-before = "page"
keep-with-previous = "auto"
break-before = "auto"
keep-with-previous = "always"
break-before = "even-page"
keep-with-previous = "auto"
break-before = "odd-page"
keep-with-previous = "auto"
CSS2 Definition:
Value: | avoid | auto | inherit |
Initial: | auto |
Applies to: | block-level elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: 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:
Neither force nor forbid a page break inside the generated box.
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.
keep-together = "auto"
keep-together = "always"
CSS2 Definition:
Value: | [<time> | <percentage>]{1,2} | inherit |
Initial: | depends on user agent |
Applies to: | all elements |
Inherited: | no |
Percentages: | see descriptions of 'pause-before' and 'pause-after' |
Media: | aural |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pause.
CSS2 Definition:
Value: | static | relative | absolute | fixed | inherit |
Initial: | static |
Applies to: | all elements, but not to generated content |
Inherited: | no |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-position.
Values have the following meanings:
The box is a normal box, laid out according to the normal flow. The "left" and "top" properties do not apply.
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.
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.
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:
relative-position="static"
absolute-position="auto"
relative-position="relative"
absolute-position="auto"
relative-position="static"
absolute-position="absolute"
relative-position="static"
absolute-position="fixed"
CSS2 Definition:
Value: | <length>{1,2} | auto | landscape | portrait | inherit |
Initial: | auto |
Applies to: | the page context |
Inherited: | N/A [XSL:no, is optional] |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: 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:
The page box will be set to the size and orientation of the target sheet.
Overrides the target's orientation. The page box is the same size as the target, and the longer sides are horizontal.
Overrides the target's orientation. The page box is the same size as the target, and the shorter sides are horizontal.
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.
CSS2 Definition:
Value: | baseline | middle | sub | super | text-top | text-bottom | <percentage> | <length> | top | bottom | inherit |
Initial: | baseline |
Applies to: | inline-level and 'table-cell' elements |
Inherited: | no |
Percentages: | refer to the 'line-height' of the element itself |
Media: | visual |
CSS2 Reference: 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:
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.
Align the vertical midpoint of the box with the baseline of the parent box plus half the x-height of the parent.
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.)
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.)
Align the top of the box with the top of the parent element's font.
Align the bottom of the box with the bottom of the parent element's font.
Align the top of the box with the top of the line box.
Align the bottom of the box with the bottom of the line box.
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".
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-identifier="baseline"
alignment-adjust="auto"
baseline-shift="baseline"
dominant-baseline="auto"
baseline-identifier="top"
alignment-adjust="auto"
baseline-shift="baseline"
dominant-baseline="auto"
baseline-identifier="text-top"
alignment-adjust="auto"
baseline-shift="baseline"
dominant-baseline="auto"
baseline-identifier="middle"
alignment-adjust="auto"
baseline-shift="baseline"
dominant-baseline="auto"
baseline-identifier="bottom"
alignment-adjust="auto"
baseline-shift="baseline"
dominant-baseline="auto"
baseline-identifier="text-bottom"
alignment-adjust="auto"
baseline-shift="baseline"
dominant-baseline="auto"
baseline-identifier="baseline"
alignment-adjust="auto"
baseline-shift="sub"
dominant-baseline="auto"
baseline-identifier="baseline"
alignment-adjust="auto"
baseline-shift="super"
dominant-baseline="auto"
baseline-identifier="baseline"
alignment-adjust="<percentage>"
baseline-shift="baseline"
dominant-baseline="auto"
baseline-identifier="baseline"
alignment-adjust="<length>"
baseline-shift="baseline"
dominant-baseline="auto"
CSS2 Definition:
Value: | normal | pre | nowrap | inherit |
Initial: | normal |
Applies to: | block-level elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
CSS2 Reference: 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:
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).
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.
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 whitespace 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:
linefeed-treatment="treat-as-space"
white-space-collapse="true"
space-treatment="preserve"
wrap-option="wrap"
linefeed-treatment="preserve"
white-space-collapse="false"
space-treatment="preserve"
wrap-option="no-wrap"
linefeed-treatment="treat-as-space"
white-space-collapse="true"
space-treatment="preserve"
wrap-option="no-wrap"
XSL Definition:
Value: | <country-language> | inherit |
Initial: | not defined for shorthand properties |
Applies to: | see prose |
Inherited: | yes |
Percentages: | N/A |
Media: | visual |
Values have the following meanings:
A language and/or country specifier in conformance with [RFC1766].
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 1766 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.
Previous |
Table of Contents |
Top |
Next |