CSS Conformance

AH Formatter V7.2'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 V7.2 implementation, AH Formatter V7.2 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.)

  • [yes] in the list means that the formatting object or property is implemented.
  • [partial] means that the formatting object or property is partially implemented.
  • [no] means not implemented.

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

CSS Level 2 Revision 1 (CSS 2.1)

4 Syntax and basic data types

NameConditionComments
4.3.5 Counters: counter(), counters()yes  counter() Introduction to CSS for Paged Mediacounter()
4.4 @charsetyes  Encodings

5 Selectors

NameConditionComments
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 selectors (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-classyes
5.11.2 The link pseudo-classes: :link and :visitedpartial :visited is not supported.
5.11.3 The dynamic pseudo-classes: :hover, :active and :focusno
5.11.4 The language pseudo-class: :langyes
5.12.1 The :first-line pseudo-elementyes
5.12.2 The :first-letter pseudo-elementyes Only the display model elements below have effects.
  • block
  • list-item
  • table-cell
  • table-caption
  • inline-block
Finds the first text in the specified element, but ::first-letter is ignored if images or the following display model elements appear before the text.
  • block elements other than block
  • inline-table
  • inline-block
  • ruby
 (-ah-)initial-letters
5.12.3 The :before and :after pseudo-elementsyes

6 Assigning property values, Cascading, and Inheritance

NameConditionComments
6.2.1 The 'inherit' valueyes
6.3 The @import ruleyesIntroduction to CSS for Paged Media@import
6.4.2 !important rulesyes

7 Media types

NameConditionComments
7.2.1 The @media rulepartial“print” and “all” media types are supported. You can specify a media type called “ah-formatter” and that @media will be applied. If you use other than AH Formatter, it will be treated as an invalid media type. Although media-query is not supported, you can specify not, such as not screen. V7.2 Introduction to CSS for Paged Media@media

8 Box model

NameConditionComments
8.3 Margin properties: 'margin-top', 'margin-right', 'margin-bottom', 'margin-left', 'margin'yesIntroduction to CSS for Paged Mediamargin-topmargin-rightmargin-bottommargin-leftmargin
8.4 Padding properties: 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'padding'yesIntroduction to CSS for Paged Mediapadding-toppadding-rightpadding-bottompadding-leftpadding
8.5.1 Border width: 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'border-width'yesIntroduction to CSS for Paged Mediaborder-top-widthborder-right-widthborder-bottom-widthborder-left-widthborder-width
8.5.2 Border color: 'border-top-color', 'border-right-color', 'border-bottom-color', 'border-left-color', 'border-color'yesThe value is extended.  <color>Introduction to CSS for Paged Mediaborder-top-colorborder-right-colorborder-bottom-colorborder-left-colorborder-color
8.5.3 Border style: 'border-top-style', 'border-right-style', 'border-bottom-style', 'border-left-style', 'border-style'yesIntroduction to CSS for Paged Mediaborder-top-styleborder-right-styleborder-bottom-styleborder-left-styleborder-style
8.5.4 Border shorthand properties: 'border-top', 'border-right', 'border-bottom', 'border-left', 'border'yesIntroduction to CSS for Paged Mediaborder-topborder-rightborder-bottomborder-leftborder

9 Visual formatting model

NameConditionComments
9.2.4 The 'display' propertyyes This property is extended.  display Introduction to CSS for Paged Mediadisplay
9.3.1 Choosing a positioning scheme: 'position'yesIntroduction to CSS for Paged Mediaposition
9.3.2 Box offsets: 'top', 'right', 'bottom', 'left'yesIntroduction to CSS for Paged Mediatoprightbottomleft
9.5.1 Positioning the float: 'float'yesThe page break (column break) in the float is supported.Introduction to CSS for Paged Mediafloat
9.5.2 Controlling flow next to floats: 'clear'yesIntroduction to CSS for Paged Mediaclear
9.9.1 Specifying the stack level: 'z-index'yesIntroduction to CSS for Paged Mediaz-index
9.10 Text direction: 'direction', 'unicode-bidi'yes

10 Visual formatting model details

NameConditionComments
10.2 Content width: 'width'yesIntroduction to CSS for Paged Mediawidth
10.4 Minimum and maximum widths: 'min-width', 'max-width'yesIntroduction to CSS for Paged Mediamin-widthmax-width
10.5 Content height: 'height'yes The setting using the % value for other than the root element is to be ignored if the height is not explicitly specified in the parent block. In AH Formatter V7.2, when a block with height specified is rotated or when values other than visible or auto are specified for the overflow property, it is not ignored. Introduction to CSS for Paged Mediaheight
10.7 Minimum and maximum heights: 'min-height', 'max-height'yes With regard to table, there is no distinction between min-height and height. When both are specified, the larger value is adopted as height. Introduction to CSS for Paged Mediamin-heightmax-height
10.8 Line height calculations: 'line-height', 'vertical-align'yesIntroduction to CSS for Paged Medialine-heightvertical-align

11 Visual effects

NameConditionComments
11.1.1 Overflow: 'overflow'yes Limitation: scroll is not supported. This property is extended.  overflow
11.1.2 Clipping: 'clip'yes
11.2 Visibility: 'visibility'partial collapse is considered hidden.

12 Generated content, automatic numbering, and lists

NameConditionComments
12.2 The 'content' propertyyes open-quote, close-quote, no-open-quote and no-close-quote are supported. In AH Formatter V7.2, “content” has been extended to apply to any element. Introduction to CSS for Paged Mediacontent
12.3.1 Specifying quotes with the 'quotes' propertyyes
12.4 Automatic counters and numbering: 'counter-reset', 'counter-increment'yesWhen an illegal value (such as 0) is specified for counter-reset, “previous page number + 1” is assumed to be specified. Introduction to CSS for Paged Mediacounter-resetcounter-increment
12.5.1 Lists: 'list-style-type'yesIntroduction to CSS for Paged Medialist-style-type
12.5.1 Lists: 'list-style-image'yesIntroduction to CSS for Paged Medialist-style-image
12.5.1 Lists: 'list-style-position'yesIntroduction to CSS for Paged Medialist-style-position
12.5.1 Lists: 'list-style'yesIntroduction to CSS for Paged Medialist-style

13 Paged media

NameConditionComments
13.2 Page boxes: the @page ruleyesIntroduction to CSS for Paged Media@page
13.2.2 Page selectors: selecting left, right, and first pages (:left, :right, :first)yesIntroduction to CSS for Paged Media:left:right:first
13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside'yes Introduction to CSS for Paged Mediapage-break-beforepage-break-afterpage-break-inside
13.3.2 Breaks inside elements: 'orphans', 'widows'yesIntroduction to CSS for Paged Mediaorphanswidows

14 Colors and Backgrounds

NameConditionComments
14.1 Foreground color: 'color'yesThe value is extended.  <color>Introduction to CSS for Paged Mediacolor
14.2.1 Background properties: 'background-color'yesThe value is extended.  <color>Introduction to CSS for Paged Mediabackground-color
14.2.1 Background properties: 'background-image'yesIntroduction to CSS for Paged Mediabackground-image
14.2.1 Background properties: 'background-repeat'yesIntroduction to CSS for Paged Mediabackground-repeat
14.2.1 Background properties: 'background-attachment'yesIntroduction to CSS for Paged Mediabackground-attachment
14.2.1 Background properties: 'background-position'yesIntroduction to CSS for Paged Mediabackground-position
14.2.1 Background properties: 'background'yesIntroduction to CSS for Paged Mediabackground

15 Fonts

NameConditionComments
15.3 Font family: 'font-family'yesIntroduction to CSS for Paged Mediafont-family
15.4 Font styling: 'font-style'yesIntroduction to CSS for Paged Mediafont-style
15.5 Small-caps: 'font-variant'yesIntroduction to CSS for Paged Mediafont-variant
15.6 Font boldness: 'font-weight'yes It has been extended to accept any values from 1 to 1000. Introduction to CSS for Paged Mediafont-weight
15.7 Font size: 'font-size'yesIntroduction to CSS for Paged Mediafont-size
15.8 Shorthand font property: 'font'yesIntroduction to CSS for Paged Mediafont

16 Text

NameConditionComments
16.1 Indentation: 'text-indent'yes
16.2 Alignment: 'text-align'yesIntroduction to CSS for Paged Mediatext-align
16.3.1 Underlining, overlining, striking, and blinking: 'text-decoration'yes Limitation: blink is not supported. Introduction to CSS for Paged Mediatext-decoration
16.4 Letter and word spacing: 'letter-spacing', 'word-spacing'yes
16.5 Capitalization: 'text-transform'yes
16.6 Whitespace: 'white-space'yes

17 Tables

NameConditionComments
17.4.1 Caption position and alignment: 'caption-side'yesIntroduction to CSS for Paged Mediacaption-side
17.5.2 Table width algorithms: 'table-layout'yesIntroduction to CSS for Paged Mediatable-layout
17.6.1 The separated borders model: 'border-spacing'yesIntroduction to CSS for Paged Mediaborder-spacing
17.6.1.1 Borders and Backgrounds around empty cells: 'empty-cells'yes
17.6.2 The collapsing border model: 'border-collapse'yesIntroduction to CSS for Paged Mediaborder-collapse

18 User interface

NameConditionComments
18.1 Cursors: 'cursor'no
18.4 Dynamic outlines: 'outline'no

CSS3

As for the implemented CSS3 properties and their corresponding XSL-FO properties, see “XSL/CSS Properties”.

Selectors

NameConditionComments
Subsequent-sibling combinator (E ~ F)yes[CSS3-Selectors]
Substring matching attribute selectors ([att^=val], [att$=val], [att*=val])yes[CSS3-Selectors]

Namespaces

NameConditionComments
@namespaceyes[CSS3-Namespaces]
Qualified Names (ns|E)yes[CSS3-Namespaces]

@ rules

NameConditionComments
@font-facepartial[CSS3-Fonts]  <axf:font-face> / @font-face Introduction to CSS for Paged Media@font-face
@footnoteyes[CSS3-GCPM] footnote-display is not supported yet.  Footnotes/sidenotes by CSS Introduction to CSS for Paged Media@footnote
@sidenote yes[CSS3-GCPM] (@sidenote has been removed from GCPM on and after June 8, 2010)  Footnotes/sidenotes by CSS Introduction to CSS for Paged Media@sidenote
@pageyes[CSS3-Page]Introduction to CSS for Paged Media@page
@page :left, :right, :first, :blankyes[CSS3-Page] This rule is extended.  @page Introduction to CSS for Paged Media:left:right:first:blank
@top-left-corneryes[CSS3-Page]Introduction to CSS for Paged Media@top-left-corner
@top-leftyes[CSS3-Page]Introduction to CSS for Paged Media@top-left
@top-centeryes[CSS3-Page]Introduction to CSS for Paged Media@top-center
@top-rightyes[CSS3-Page]Introduction to CSS for Paged Media@top-right
@top-right-corneryes[CSS3-Page]Introduction to CSS for Paged Media@top-right-corner
@left-topyes[CSS3-Page]Introduction to CSS for Paged Media@left-top
@left-middleyes[CSS3-Page]Introduction to CSS for Paged Media@left-middle
@left-bottomyes[CSS3-Page]Introduction to CSS for Paged Media@left-bottom
@right-topyes[CSS3-Page]Introduction to CSS for Paged Media@right-top
@right-middleyes[CSS3-Page]Introduction to CSS for Paged Media@right-middle
@right-bottomyes[CSS3-Page]Introduction to CSS for Paged Media@right-bottom
@bottom-left-corneryes[CSS3-Page]Introduction to CSS for Paged Media@bottom-left-corner
@bottom-leftyes[CSS3-Page]Introduction to CSS for Paged Media@bottom-left
@bottom-centeryes[CSS3-Page]Introduction to CSS for Paged Media@bottom-center
@bottom-rightyes[CSS3-Page]Introduction to CSS for Paged Media@bottom-right
@bottom-right-corneryes[CSS3-Page]Introduction to CSS for Paged Media@bottom-right-corner
@counter-stylepartial[CSS3-CounterStyles] Specifying url() for symbols and additive-symbols etc. is not available. speak-as is not supported.  <axf:counter-style> / @counter-style no-LT Introduction to CSS for Paged Media@counter-style

Pseudo Classes

NameConditionComments
:rootyes[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-childyes[CSS3-Selectors]
:last-childyes[CSS3-Selectors]
:first-of-typeyes[CSS3-Selectors]
:last-of-typeyes[CSS3-Selectors]
:only-childyes[CSS3-Selectors]
:only-of-typeyes[CSS3-Selectors]
:emptyyes[CSS3-Selectors]
:not()yes[CSS3-Selectors]
:nth()partial[CSS3-GCPM] <custom-ident> is not supported. V7.2

Pseudo Elements

NameConditionComments
::footnote-callyes[CSS3-GCPM]  Footnotes/sidenotes by CSS Introduction to CSS for Paged Media::footnote-call
::footnote-markeryes[CSS3-GCPM]  Footnotes/sidenotes by CSS Introduction to CSS for Paged Media::footnote-marker
::sidenote-callyes[CSS3-GCPM] (@sidenote has been removed from GCPM on and after June 8, 2010)  Footnotes/sidenotes by CSS
::sidenote-markeryes[CSS3-GCPM] (@sidenote has been removed from GCPM on and after June 8, 2010)  Footnotes/sidenotes by CSS Introduction to CSS for Paged Media::sidenote-marker
::marker yes[CSS3-Lists]Introduction to CSS for Paged Media::marker
::beforeyes[CSS3-Selectors]
::afteryes[CSS3-Selectors]

Functions

NameConditionComments
content()yes[CSS3-GCPM]
string()yes[CSS3-GCPM]Introduction to CSS for Paged Mediastring()
running() yes[CSS3-GCPM]Introduction to CSS for Paged Mediarunning()
element() yes[CSS3-GCPM] element() cannot be used with any other values. Use it alone. Introduction to CSS for Paged Mediaelement()
leader()yes[CSS3-GCPM]Introduction to CSS for Paged Medialeader()
target-counter() yes[CSS3-GCPM]Introduction to CSS for Paged Mediatarget-counter()
target-counters() no[CSS3-GCPM]
target-text() yes[CSS3-GCPM]Introduction to CSS for Paged Mediatarget-text()
device-cmyk()yes[CSS3-GCPM] (CYMK has been removed from GCPM on and after May 13, 2014) Introduction to CSS for Paged Mediadevice-cmyk()
rgb()yes[CSS3-Color] Introduction to CSS for Paged Mediargb()
rgba()yes[CSS3-Color] Introduction to CSS for Paged Mediargba()
hsl()yes[CSS3-Color]
hsla()yes[CSS3-Color]
counter()yes[CSS3-Page]  counter() Introduction to CSS for Paged Mediacounter()
counters()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-CounterStyles] Specifying url() is not available. no-LT
var()yes[CSS3-CustomProperties]