CSS2.1 Conformance Test Suite

Index by Section

This index lists tests by associated spec section. Tests are listed in strong in their primary section.

Test Flags
1 About the CSS 2.1 Specification
1.1 CSS 2.1 vs CSS 2
1.2 Reading the specification
1.3 How the specification is organized
1.4 Conventions
1.4.1 Document language elements and attributes
1.4.2 CSS property definitions
1.4.2.1 Value
1.4.2.2 Initial
1.4.2.3 Applies to
1.4.2.4 Inherited
1.4.2.5 Percentage values
1.4.2.6 Media groups
1.4.2.7 Computed value
1.4.3 Shorthand properties
1.4.4 Notes and examples
1.4.5 Images and long descriptions
1.5 Acknowledgments
2 Introduction to CSS 2.1
2.1 A brief CSS 2.1 tutorial for HTML
2.2 A brief CSS 2.1 tutorial for XML
2.3 The CSS 2.1 processing model
2.3.1 The canvas
2.3.2 CSS 2.1 addressing model
2.4 CSS design principles
3 Conformance: Requirements and Recommendations
3.1 Definitions
3.2 UA Conformance
3.3 Error conditions
3.4 The text/css content type
4 Syntax and basic data types
4.1 Syntax
4.1.1 Tokenization
4.1.2 Keywords
4.1.2.1 Vendor-specific extensions
4.1.2.2 Informative Historical Notes
4.1.3 Characters and case
4.1.4 Statements
4.1.5 At-rules
4.1.6 Blocks
4.1.7 Rule sets, declaration blocks, and selectors
4.1.8 Declarations and properties
4.1.9 Comments
4.2 Rules for handling parsing errors
4.3 Values
4.3.1 Integers and real numbers
4.3.2 Lengths
4.3.3 Percentages
4.3.4 URLs and URIs
4.3.5 Counters
4.3.6 Colors
4.3.7 Strings
4.3.8 Unsupported Values
4.4 CSS style sheet representation
4.4.1 Referring to characters not represented in a character encoding
5 Selectors
5.1 Pattern matching
5.2 Selector syntax
5.2.1 Grouping
5.3 Universal selector
5.4 Type selectors
5.5 Descendant selectors
5.6 Child selectors
5.7 Adjacent sibling selectors
5.8 Attribute selectors
5.8.1 Matching attributes and attribute values
5.8.2 Default attribute values in DTDs
5.8.3 Class selectors
5.9 ID selectors
5.10 Pseudo-elements and pseudo-classes
5.11 Pseudo-classes
5.11.1 :first-child pseudo-class
5.11.2 The link pseudo-classes: :link and :visited
5.11.3 The dynamic pseudo-classes: :hover, :active, and :focus
5.11.4 The language pseudo-class: :lang
5.12 Pseudo-elements
5.12.1 The :first-line pseudo-element
5.12.2 The :first-letter pseudo-element
5.12.3 The :before and :after pseudo-elements
6 Assigning property values, Cascading, and Inheritance
6.1 Specified, computed, and actual values
6.1.1 Specified values
6.1.2 Computed values
6.1.3 Used values
6.1.4 Actual values
6.2 Inheritance
6.2.1 The 'inherit' value
6.3 The @import rule
6.4 The cascade
6.4.1 Cascading order
6.4.2 !important rules
6.4.3 Calculating a selector's specificity
6.4.4 Precedence of non-CSS presentational hints
7 Media types
7.1 Introduction to media types
7.2 Specifying media-dependent style sheets
7.2.1 The @media rule
7.3 Recognized media types
7.3.1 Media groups
8 Box model
8.1 Box dimensions
8.2 Example of margins, padding, and borders
8.3 Margin properties: 'margin-top', 'margin-right', 'margin-bottom', 'margin-left', and 'margin'
8.3.1 Collapsing margins
8.4 Padding properties: 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', and 'padding'
8.5 Border properties
8.5.1 Border width: 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', and 'border-width'
8.5.2 Border color: 'border-top-color', 'border-right-color', 'border-bottom-color', 'border-left-color', and 'border-color'
8.5.3 Border style: 'border-top-style', 'border-right-style', 'border-bottom-style', 'border-left-style', and 'border-style'
8.5.4 Border shorthand properties: 'border-top', 'border-right', 'border-bottom', 'border-left', and 'border'
8.6 The box model for inline elements in bidirection context
9 Visual formatting model
9.1 Introduction to the visual formatting model
9.1.1 The viewport
9.1.2 Containing blocks
9.2 Controlling box generation
9.2.1 Block-level elements and block boxes
9.2.1.1 Anonymous block boxes
9.2.2 Inline-level elements and inline boxes
9.2.2.1 Anonymous inline boxes
9.2.3 Run-in boxes
9.2.4 The 'display' property
9.3 Positioning schemes
9.3.1 Choosing a positioning scheme: 'position' property
9.3.2 Box offsets: 'top', 'right', 'bottom', 'left'
9.4 Normal flow
9.4.1 Block formatting contexts
9.4.2 Inline formatting context
9.4.3 Relative positioning
9.5 Floats
9.5.1 Positioning the float: the 'float' property
9.5.2 Controlling flow next to floats: the 'clear' property
9.6 Absolute positioning
9.6.1 Fixed positioning
9.7 Relationships between 'display', 'position', and 'float'
9.8 Comparison of normal flow, floats, and absolute positioning
9.8.1 Normal flow
9.8.2 Relative positioning
9.8.3 Floating a box
9.8.4 Absolute positioning
9.9 Layered presentation
9.9.1 Specifying the stack level: the 'z-index' property
9.10 Text direction: the 'direction' and 'unicode-bidi' properties
10 Visual formatting model details
10.1 Definition of "containing block"
10.2 Content width: the 'width' property
10.3 Calculating widths and margins
10.3.1 Inline, non-replaced elements
10.3.2 Inline, replaced elements
10.3.3 Block-level, non-replaced elements in normal flow
10.3.4 Block-level, replaced elements in normal flow
10.3.5 Floating, non-replaced elements
10.3.6 Floating, replaced elements
10.3.7 Absolutely positioned, non-replaced elements
10.3.8 Absolutely positioned, replaced elements
10.3.9 'Inline-block', non-replaced elements in normal flow
10.3.10 'Inline-block', replaced elements in normal flow
10.4 Minimum and maximum widths: 'min-width' and 'max-width'
10.5 Content height: the 'height' property
10.6 Calculating heights and margins
10.6.1 Inline, non-replaced elements
10.6.2 Inline replaced elements, block-level replaced elements in normal flow, 'inline-block' replaced elements in normal flow and floating replaced elements
10.6.3 Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'
10.6.4 Absolutely positioned, non-replaced elements
10.6.5 Absolutely positioned, replaced elements
10.6.6 Complicated cases
10.6.7 'Auto' heights for block formatting context roots
10.7 Minimum and maximum heights: 'min-height' and 'max-height'
10.8 Line height calculations: the 'line-height' and 'vertical-align' properties
10.8.1 Leading and half-leading
11 Visual effects
11.1 Overflow and clipping
11.1.1 Overflow: the 'overflow' property
11.1.2 Clipping: the 'clip' property
11.2 Visibility: the 'visibility' property
12 Generated content, automatic numbering, and lists
12.1 The :before and :after pseudo-elements
12.2 The 'content' property
12.3 Quotation marks
12.3.1 Specifying quotes with the 'quotes' property
12.3.2 Inserting quotes with the 'content' property
12.4 Automatic counters and numbering
12.4.1 Nested counters and scope
12.4.2 Counter styles
12.4.3 Counters in elements with 'display: none'
12.5 Lists
12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties
13 Paged media
13.1 Introduction to paged media
13.2 Page boxes: the @page rule
13.2.1 Page margins
13.2.1.1 Rendering page boxes that do not fit a target sheet
13.2.1.2 Positioning the page box on the sheet
13.2.2 Page selectors: selecting left, right, and first pages
13.2.3 Content outside the page box
13.3 Page breaks
13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside'
13.3.2 Breaks inside elements: 'orphans', 'widows'
13.3.3 Allowed page breaks
13.3.4 Forced page breaks
13.3.5 "Best" page breaks
13.4 Cascading in the page context
14 Colors and Backgrounds
14.1 Foreground color: the 'color' property
14.2 The background
14.2.1 Background properties: 'background-color', 'background-image', 'background-repeat', 'background-attachment', 'background-position', and 'background'
14.3 Gamma correction
15 Fonts
15.1 Introduction
15.2 Font matching algorithm
15.3 Font family: the 'font-family' property
15.3.1 Generic font families
15.3.1.1 serif
15.3.1.2 sans-serif
15.3.1.3 cursive
15.3.1.4 fantasy
15.3.1.5 monospace
15.4 Font styling: the 'font-style' property
15.5 Small-caps: the 'font-variant' property
15.6 Font boldness: the 'font-weight' property
15.7 Font size: the 'font-size' property
15.8 Shorthand font property: the 'font' property
16 Text
16.1 Indentation: the 'text-indent' property
16.2 Alignment: the 'text-align' property
16.3 Decoration
16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration' property
16.4 Letter and word spacing: the 'letter-spacing' and 'word-spacing' properties
16.5 Capitalization: the 'text-transform' property
16.6 Whitespace: the 'white-space' property
16.6.1 The 'white-space' processing model
16.6.2 Example of bidirectionality with white-space collapsing
16.6.3 Control and combining characters' details
17 Tables
17.1 Introduction to tables
17.2 The CSS table model
17.2.1 Anonymous table objects
17.3 Columns
17.4 Tables in the visual formatting model
17.4.1 Caption position and alignment
17.5 Visual layout of table contents
17.5.1 Table layers and transparency
17.5.2 Table width algorithms: the 'table-layout' property
17.5.2.1 Fixed table layout
17.5.2.2 Automatic table layout
17.5.3 Table height algorithms
17.5.4 Horizontal alignment in a column
17.5.5 Dynamic row and column effects
17.6 Borders
17.6.1 The separated borders model
17.6.1.1 Borders and Backgrounds around empty cells: the 'empty-cells' property
17.6.2 The collapsing border model
17.6.2.1 Border conflict resolution
17.6.3 Border styles
18 User interface
18.1 Cursors: the 'cursor' property
18.2 System Colors
18.3 User preferences for fonts
18.4 Dynamic outlines: the 'outline' property
18.4.1 Outlines and the focus
18.5 Magnification
Appendix A. Aural style sheets
Informative
Appendix B. Bibliography
Appendix C. Changes
Informative
Appendix D. Default style sheet for HTML 4
Informative
Appendix E. Elaborate description of Stacking Contexts
E.1 Definitions
E.2 Painting order
E.3 Notes
Appendix F. Full property table
Informative
Appendix G. Grammar of CSS 2.1
G.1 Grammar
G.2 Lexical scanner
G.3 Comparison of tokenization in CSS 2.1 and CSS1
Appendix I. Index
Informative