CSS Conformance

AH Formatter V6.3's CSS implementation is based on the following specifications:

Many of CSS3 specifications are still under the draft or the state before draft. Although the specifications above are linked to the versions based on the AH Formatter V6.3 implementation, AH Formatter V6.3 does not implement them perfectly. Each property in this document includes the link to the specification that is the base of the implementation. ([CSS3-GCPM] etc. written at the beginning is an abbreviated name when referring to the specification).

Sometimes items with [yes] have some limitation(s) that do not affect their ability to accomplish the specified tasks.

CSS Level 2 Revision 1 (CSS2.1)

4 Syntax and basic data types

Name Condition Comments
4.4 @charset yes Encodings

5 Selectors

Name Condition Comments
5.2.1 Grouping (,) yes
5.3 Universal selector (*) yes
5.4 Type selectors (E) yes
5.5 Descendant selectors (E F) yes
5.6 Child selector (E > F) yes
5.7 Adjacent sibling selectors (E + F) yes
5.8.1 Matching attributes and attribute values ([att], [att=val], [att~=val], [att|=val]) yes
5.8.3 Class selectors (.class) yes
5.9 ID selectors (#id) yes
5.11.1 The :first-child pseudo-class yes
5.11.2 The link pseudo-classes: :link and :visited partial :visited is not supported.
5.11.3 The dynamic pseudo-classes: :hover, :active, and :focus no
5.11.4 The language pseudo-class: lang yes
5.12.1 The :first-line pseudo-element yes
5.12.2 The :first-letter pseudo-element yes
5.12.3 The :before and :after pseudo-elements yes

6 Assigning property values, Cascading, and Inheritance

Name Condition Comments
6.2.1 The 'inherit' value yes
6.3 The @import rule yes
6.4.2 !important rules yes

7 Media types

Name Condition Comments
7.2.1 The @media rule yes 'print' and 'all' media types are supported.

8 Box model

Name Condition Comments
8.3 Margin properties: 'margin-top', 'margin-right', 'margin-bottom', 'margin-left', 'margin' yes
8.4 Padding properties: 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'padding' yes
8.5.1 Border width: 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'border-width' yes
8.5.2 Border color: 'border-top-color', 'border-right-color', 'border-bottom-color', 'border-left-color', 'border-color' yes
8.5.3 Border style: 'border-top-style', 'border-right-style', 'border-bottom-style', 'border-left-style', 'border-style' yes
8.5.4 Border shorthand properties: 'border-top', 'border-right', 'border-bottom', 'border-left', 'border' yes

9 Visual formatting model

Name Condition Comments
9.2.4 The 'display' property yes
9.3.1 Choosing a positioning scheme: 'position' yes
9.3.2 Box offsets: 'top', 'right', 'bottom', 'left' yes
9.5.1 Positioning the float: 'float' yes The page break (column break) in the float is supported.
9.5.2 Controlling flow next to floats: 'clear' yes
9.9.1 Specifying the stack level: 'z-index' yes
9.10 Text direction: 'direction', 'unicode-bidi' yes

10 Visual formatting model details

Name Condition Comments
10.2 Content width: 'width' yes
10.4 Minimum and maximum widths: 'min-width', 'max-width' yes
10.5 Content height: 'height' yes
10.7 Minimum and maximum heights: 'min-height', 'max-height' yes
10.8 Line height calculations: 'line-height' yes
10.8 Line height calculations: 'vertical-align' yes

11 Visual effects

Name Condition Comments
11.1.1 Overflow: 'overflow' yes
11.1.2 Clipping: 'clip' yes
11.2 Visibility: 'visibility' yes visibility:collapse specified to table-column is considered as hidden.

12 Generated content, automatic numbering, and lists

Name Condition Comments
12.2 The 'content' property yes open-quote, close-quote, no-open-quote and no-close-quote are supported.
12.3.1 Specifying quotes with the 'quotes' property yes
12.4 Automatic counters and numbering: 'counter() yes
12.4 Automatic counters and numbering: 'counters() yes
12.4 Automatic counters and numbering: 'counter-reset' yes
12.4 Automatic counters and numbering: 'counter-increment' yes
12.5.1 Lists: 'list-style-type' yes
12.5.1 Lists: 'list-style-image' yes
12.5.1 Lists: 'list-style-position' yes
12.5.1 Lists: 'list-style' yes

13 Paged media

Name Condition Comments
13.2 Page boxes: the @page rule yes
13.2.2 Page selectors: selecting left, right, and first pages (:left, :right, :first) yes
13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside' yes
13.3.2 Breaks inside elements: 'orphans', 'widows' yes

14 Colors and Backgrounds

Name Condition Comments
14.1 Foreground color: 'color' yes
14.2.1 Background properties: 'background-color' yes
14.2.1 Background properties: 'background-image' yes
14.2.1 Background properties: 'background-repeat' yes
14.2.1 Background properties: 'background-attachment' yes
14.2.1 Background properties: 'background-position' yes
14.2.1 Background properties: 'background' yes

15 Fonts

Name Condition Comments
15.3 Font family: 'font-family' yes
15.4 Font styling: 'font-style' yes
15.5 Small-caps: 'font-variant' yes
15.6 Font boldness: 'font-weight' yes
15.7 Font size: 'font-size' yes
15.8 Shorthand font property: 'font' yes

16 Text

Name Condition Comments
16.1 Indentation: 'text-indent' yes
16.2 Alignment: 'text-align' yes
16.3.1 Underlining, overlining, striking, and blinking: 'text-decoration' yes Limitation: blink is not supported.
16.4 Letter and word spacing: 'letter-spacing' yes
16.4 Letter and word spacing: 'word-spacing' yes
16.5 Capitalization: 'text-transform' yes
16.6 Whitespace: 'white-space' yes

17 Tables

Name Condition Comments
17.4.1 Caption position and alignment: 'caption-side' yes
17.5.2 Table width algorithms: 'table-layout' yes
17.6.1 The separated borders model: 'border-spacing' yes
17.6.1.1 Borders and Backgrounds around empty cells: 'empty-cells' yes
17.6.2 The collapsing border model: 'border-collapse' yes

18 User interface

Name Condition Comments
18.1 Cursors: 'cursor' no
18.4 Dynamic outlines: 'outline' no

CSS3

Please find a list of implemented CSS3 and properties in "XSL/CSS Properties List".

Selectors

Name Condition Comments
General sibling combinator (E ~ F) yes [CSS3-Selectors]

@ rules

Name Condition Comments
@font-face partial [CSS3-Fonts] <axf:font-face> / @font-face
@footnote yes [CSS3-GCPM] 'display: inline' is not supported yet. Footnotes/sidenotes by CSS
@sidenote yes [CSS3-GCPM] Footnotes/sidenotes by CSS
@namespace yes [CSS3-Namespace]
@page yes [CSS3-Page]
@page :left, :right, :first, :blank yes [CSS3-Page]
@top-left-corner yes [CSS3-Page]
@top-left yes [CSS3-Page]
@top-center yes [CSS3-Page]
@top-right yes [CSS3-Page]
@top-right-corner yes [CSS3-Page]
@left-top yes [CSS3-Page]
@left-middle yes [CSS3-Page]
@left-bottom yes [CSS3-Page]
@right-top yes [CSS3-Page]
@right-middle yes [CSS3-Page]
@right-bottom yes [CSS3-Page]
@bottom-left-corner yes [CSS3-Page]
@bottom-left yes [CSS3-Page]
@bottom-center yes [CSS3-Page]
@bottom-right yes [CSS3-Page]
@bottom-right-corner yes [CSS3-Page]
@counter-style partial [CSS3-CounterStyle] Specifying utl() for symbols and additive-symbols etc. is not available. speak-as is not supported. <axf:counter-style> / @counter-style V6.3 no-LT

Pseudo Classes

Name Condition Comments
:root yes [CSS3-Selectors]
:nth-child() yes [CSS3-Selectors]
:nth-last-child() yes [CSS3-Selectors]
:nth-of-type() yes [CSS3-Selectors]
:nth-last-of-type() yes [CSS3-Selectors]
:first-child yes [CSS3-Selectors]
:last-child yes [CSS3-Selectors]
:first-of-type yes [CSS3-Selectors]
:last-of-type yes [CSS3-Selectors]
:only-child yes [CSS3-Selectors]
:only-of-type yes [CSS3-Selectors]
:empty yes [CSS3-Selectors]
:not yes [CSS3-Selectors]

Pseudo Elements

Name Condition Comments
::footnote-call yes [CSS3-GCPM] Footnotes/sidenotes by CSS
::footnote-marker yes [CSS3-GCPM] Footnotes/sidenotes by CSS
::sidenote-call yes [CSS3-GCPM] Footnotes/sidenotes by CSS
::sidenote-marker yes [CSS3-GCPM] Footnotes/sidenotes by CSS
::marker yes [CSS3-Lists]
::before yes [CSS3-Selectors]
::after yes [CSS3-Selectors]

Functions

Name Condition Comments
string() yes [CSS3-GCPM]
running() yes [CSS3-GCPM]
element() yes [CSS3-GCPM]
leader() yes [CSS3-GCPM]
target-counter() yes [CSS3-GCPM]
target-counters() yes [CSS3-GCPM]
target-text() yes [CSS3-GCPM]
device-cmyk() yes [CSS3-GCPM]
counter() yes [CSS3-Page] counter()
attr() yes [CSS3-Values] attr()
url() yes [CSS3-Values] URI
calc() yes [CSS3-Values]
linear-gradient() yes [CSS3-Images] linear-gradient()
radial-gradient() yes [CSS3-Images] radial-gradient()
repeating-linear-gradient() yes [CSS3-Images] repeating-linear-gradient()
repeating-radial-gradient() yes [CSS3-Images] repeating-radial-gradient()
matrix() yes [CSS3-Transforms] Transformation
translate() yes [CSS3-Transforms] Transformation
translateX() yes [CSS3-Transforms] Transformation
translateY() yes [CSS3-Transforms] Transformation
scale() yes [CSS3-Transforms] Transformation
scaleX() yes [CSS3-Transforms] Transformation
scaleY() yes [CSS3-Transforms] Transformation
rotate() yes [CSS3-Transforms] Transformation
skew() yes [CSS3-Transforms] Transformation
skewX() yes [CSS3-Transforms] Transformation
skewY() yes [CSS3-Transforms] Transformation
symbols() partial [CSS3-CounterStyle] Specifying url() is not available. V6.3 no-LT