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 Type Flags
1 About the CSS2.1 Specification
1.1 CSS2.1 vs CSS2
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
Shorthand Properties (border) composite
Shorthand Properties (font) basic
Shorthand Properties (font) basic
Shorthand Properties (font) basic
Shorthand Properties (font) basic
1.4.4 Notes and examples
1.4.5 Images and long descriptions
1.5 Acknowledgments
2 Introduction to CSS2.1
2.1 A brief CSS2.1 tutorial for HTML
2.2 A brief CSS2.1 tutorial for XML
2.3 The CSS2.1 processing model
2.3.1 The canvas
The Canvas basic
2.3.2 CSS2.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
Keywords basic
Keywords basic
4.1.2.1 Vendor-specific extensions
4.1.2.2 Informative Historical Notes
4.1.3 Characters and case
Characters and Case basic
Characters and Case composite
Characters and Case: Character Escapes basic
Characters and Case: Character Escapes basic
Characters and Case: Character Escapes detailed
Characters and Case: Character Escapes basic
Characters and Case: Character Escapes basic
Characters and Case: Character Escapes and Case Insensitivity composite
Characters and Case: Character Escapes basic
Characters and Case: Character Escapes basic
Characters and Case: Character Escapes basic
Characters and Case composite
Characters and Case composite
Characters and Case composite
Characters and Case composite
Characters and Case composite
Characters and Case composite
Characters and Case composite
Characters and Case composite
Characters and Case composite
Characters and Case composite
Characters and Case composite
Characters and Case composite
Characters and Case composite
Characters and Case composite
4.1.4 Statements
4.1.5 At-rules
At-rules basic
At-rules basic
At-rules basic
At-rules basic
At-rules basic
At-rules basic
At-rules basic
At-rules basic
At-rules basic
At-rules basic
4.1.6 Blocks
4.1.7 Rule sets, declaration blocks, and selectors
4.1.8 Declarations and properties
4.1.9 Comments
Comments basic
Comments basic
Basic Containment basic
4.2 Rules for handling parsing errors
Forward-Compatible Parsing failure
Forward-Compatible Parsing failure
Forward-Compatible Parsing failure
Forward-Compatible Parsing failure
Forward-Compatible Parsing failure
malformed declaration missing ':', value, part 1 failure
malformed declaration missing ':', value, part 2 failure
malformed declaration missing value, part 1 failure
malformed declaration missing value, part 2 failure
malformed declaration: unexpected tokens { }, part 1 failure
malformed declaration: unexpected tokens { }, part 2 failure
4.3 Values
4.3.1 Integers and real numbers
4.3.2 Lengths
Length Units atomic
Length Units basic
Length Units basic A G
padding-top atomic
padding-left basic A G
padding basic A G
text-indent atomic
4.3.3 Percentages
Percentage Units basic A G
4.3.4 URLs and URIs
URLs atomic G
Basic Containment basic
4.3.5 Counters
content: counter(c) basic
content: counter(c, none) basic
content: counter(c, disc) basic
content: counter(c, circle) basic
content: counter(c, square) basic
content: counter(c, decimal) basic
content: counter(c, decimal-leading-zero) basic
content: counter(c, lower-roman) basic
content: counter(c, upper-roman) basic
content: counter(c, georgian) basic
content: counter(c, armenian) basic
content: counter(c, lower-latin) basic
content: counter(c, lower-alpha) basic
content: counter(c, upper-latin) basic
content: counter(c, upper-alpha) basic
content: counter(c, lower-greek) basic
content: counter() error cases failure
content: counters(c, ".") basic
content: counters(c, ".", none) basic
content: counters(c, ".", disc) basic
content: counters(c, ".", circle) basic
content: counters(c, ".", square) basic
content: counters(c, ".", decimal) basic
content: counters(c, ".", decimal-leading-zero) basic
content: counters(c, ".", lower-roman) basic
content: counters(c, ".", upper-roman) basic
content: counters(c, ".", georgian) basic
content: counters(c, ".", armenian) basic
content: counters(c, ".", lower-latin) basic
content: counters(c, ".", lower-alpha) basic
content: counters(c, ".", upper-latin) basic
content: counters(c, ".", upper-alpha) basic
content: counters(c, ".", lower-greek) basic
content: counters() string argument composite
content: counters() string argument detailed
content: counters() error cases failure
Counter scope basic
Counter scope and nesting on elements composite
Counter scope and nesting on :before composite
Counter scope and nesting on :after composite
Counter scope and nesting detailed
Counter properties on 'content: none' pseudo-elements composite
Counter properties on 'display: none' elements composite
Counter properties on 'visibility: hidden' elements composite
Implied counter scopes with no 'counter-increment' or 'counter-reset' basic
Implied counter scopes by counter use composite
Implied counter scopes by 'counter-increment' detailed
dynamic changes to 'counter-increment' composite O
dynamic changes to 'counter-increment' composite O
dynamic changes to 'counter-increment' composite O
Multiple resets for same counter composite
Multiple increments and resets composite
Order of 'counter-reset', 'counter-increment', and counter use, including pseudo-elements composite
Order of counters in out-of-flow content detailed
dynamic changes to 'counter-increment' composite O
dynamic changes to 'counter-increment' composite O
dynamic changes to 'counter-increment' composite O
counters on the root element evil
4.3.6 Colors
Color Units basic A G
RGB color syntax error handling failure
4.3.7 Strings
Newlines in strings basic
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
Grouping basic
5.3 Universal selector
5.4 Type selectors
5.5 Descendant selectors
Descendant selectors (Contextual selectors) evil
Contextual selectors evil
Contextual selectors evil
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
Class as selector evil
5.9 ID selectors
ID as selector atomic
ID as selector evil
ID selectors starting with number failure
Escapes in ID selectors basic
5.10 Pseudo-elements and pseudo-classes
Pseudo-elements in Selectors composite
5.11 Pseudo-classes
anchor evil I
anchor evil I
anchor evil I
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
anchor evil I
anchor evil I
anchor evil I
Effect of DOM mutations on :hover matching composite I O
Effect of DOM mutations on :hover matching composite I O
5.11.4 The language pseudo-class: :lang
5.12 Pseudo-elements
5.12.1 The :first-line pseudo-element
Pseudo-elements in Selectors composite
first-line basic
Multiple Pseudo-Elements composite
5.12.2 The :first-letter pseudo-element
first-letter basic
Multiple Pseudo-Elements composite
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
Inheritance evil
Inheritance evil
line-height detailed A G
line-height detailed A G
6.2.1 The 'inherit' value
6.3 The @import rule
URLs atomic G
Basic Containment basic
6.4 The cascade
anchor evil I
anchor evil I
6.4.1 Cascading order
Cascading Order basic
important basic
6.4.2 !important rules
important basic
6.4.3 Calculating a selector's specificity
Cascading Order basic
anchor evil I
anchor evil I
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
Horizontal Formatting atomic
8.2 Example of margins, padding, and borders
8.3 Margin properties: 'margin-top', 'margin-right', 'margin-bottom', 'margin-left', and 'margin'
Horizontal Formatting atomic
Vertical Formatting basic
margin-top basic A G
margin-top atomic
margin-right basic A G
margin-right basic A G
margin-right atomic
margin-right atomic
margin-right basic A G
margin-right basic A G
margin-right basic A G
margin-right composite A G
margin-right atomic
margin-right composite
margin-right composite
margin-bottom atomic
margin-bottom atomic
margin-left basic A G
margin-left basic A G
margin-left basic A G
margin-left atomic
margin-left basic A G
margin-left basic A G
margin-left basic A G
margin-left composite A G
margin-left atomic
margin-left composite
margin-left composite
margin atomic A G
margin basic A G
margin atomic
margin composite
margin composite A G
float composite A G
Horizontal Formatting detailed A G
8.3.1 Collapsing margins
Vertical Formatting basic
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
8.4 Padding properties: 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', and 'padding'
Horizontal Formatting atomic
Vertical Formatting basic
margin-right composite
margin-left composite
padding-top atomic
padding-top atomic
padding-top atomic
padding-top atomic
padding-right basic A G
padding-right basic A G
padding-right basic A G
padding-right atomic
padding-right basic A G
padding-right composite A G
padding-right atomic
padding-right failure
padding-right failure
padding-bottom atomic
padding-bottom atomic
padding-bottom atomic
padding-bottom atomic
padding-left basic A G
padding-left basic A G
padding-left basic A G
padding-left atomic
padding-left failure A G
padding-left basic A G
padding-left atomic
padding-left failure
padding-left failure G
padding basic A G
padding basic A G
padding atomic
padding failure
8.5 Border properties
Horizontal Formatting atomic
margin-right atomic
margin-left atomic
padding-right atomic
border-top-width basic
border-top-width basic G
border-top-width basic
border-top-width basic
border-top-width atomic
border-right-width basic
border-right-width basic G
border-right-width basic
border-right-width basic
border-right-width atomic
border-bottom-width basic
border-bottom-width basic G
border-bottom-width basic
border-bottom-width basic
border-bottom-width atomic
border-left-width basic
border-left-width basic G
border-left-width basic
border-left-width basic
border-left-width atomic
border-width atomic
border-width basic G
border-width basic
border-width basic
border-color atomic
border-color atomic
border-style composite
border-style atomic
border-top atomic
border-top evil
border-top atomic
border-right atomic
border-right evil
border-right evil
border-right atomic
border-bottom atomic
border-bottom evil
border-bottom atomic
border-left atomic
border-left evil
border-left evil
border-left atomic
border basic
border basic G
border evil
border atomic
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
display/box/float/clear test evil
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
Updating layout on display changes basic A O
display basic
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
Inline Elements detailed A G
9.4.3 Relative positioning
9.5 Floats
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Floating Elements detailed
Floating Elements detailed G
Floating Elements composite
Floating Elements composite
Floating Elements composite
Floating Elements detailed
Floating Elements detailed G
Floating Elements evil
Floating Elements detailed G
float detailed A G
float detailed
float detailed G
float composite A G
float composite A G
float detailed G
float composite G
float composite G
float composite G
float composite G
float basic
clear composite A G
clear composite G
9.5.1 Positioning the float: the 'float' property
Floating Elements detailed
Floating Elements basic
Floating Elements detailed G
Floating Elements basic G
Floating Elements detailed
Floating Elements detailed G
Floating Elements detailed
Floating Elements detailed
Floating Elements basic G
float basic G
float detailed G
float detailed G
9.5.2 Controlling flow next to floats: the 'clear' property
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
Margin Collapsing with Clearance detailed
clear composite A G
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"
Containing block for fixed positioning basic
Containing block for absolute positioning basic
Containing block for absolute positioning basic
Containing block for absolute positioning basic
Containing block for absolute positioning basic
Containing block for absolute positioning basic
Containing block for absolute positioning basic
Containing block for absolute positioning basic
Containing block for absolute positioning basic
10.2 Content width: the 'width' property
margin-right composite
margin-left composite
margin composite A G
padding-right failure
float composite G
width basic G
width basic G
width basic G
Horizontal Formatting detailed A G
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
Horizontal Formatting detailed A G
10.3.4 Block-level, replaced elements in normal flow
Replaced Elements detailed G
Replaced Elements detailed G
Replaced Elements detailed A G
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'
Replaced Elements detailed A G
Replaced Elements detailed A G
height basic G
10.5 Content height: the 'height' property
height basic G
height basic G
height basic G
10.6 Calculating heights and margins
10.6.1 Inline, non-replaced elements
Inline Elements atomic
10.6.2 Inline replaced elements, block-level replaced elements in normal flow, 'inline-block' replaced elements in normal flow and floating replaced elements
Replaced Elements detailed G
Replaced Elements detailed G
Replaced Elements detailed A G
Replaced Elements detailed A G
10.6.3 Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'
float detailed A G
float detailed
10.6.4 Absolutely positioned, non-replaced elements
10.6.5 Absolutely positioned, replaced elements
10.6.6 Complicated cases
float detailed G
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
The Height of Lines detailed A G
The Height of Lines detailed A G
The Height of Lines detailed A G
The Height of Lines detailed A G
Replaced Elements detailed A G
10.8.1 Leading and half-leading
Inline Elements atomic
vertical-align atomic A G
vertical-align detailed A G
vertical-align detailed A G I
vertical-align detailed A G I
vertical-align detailed A G I
line-height atomic
line-height atomic
line-height basic A G
line-height basic A G
line-height detailed A G
line-height detailed A G
font basic
font basic
font basic
font basic
font basic
font basic
font basic
font basic
font basic
font composite
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
content: counter(c) basic
content: counter(c, none) basic
content: counter(c, disc) basic
content: counter(c, circle) basic
content: counter(c, square) basic
content: counter(c, decimal) basic
content: counter(c, decimal-leading-zero) basic
content: counter(c, lower-roman) basic
content: counter(c, upper-roman) basic
content: counter(c, georgian) basic
content: counter(c, armenian) basic
content: counter(c, lower-latin) basic
content: counter(c, lower-alpha) basic
content: counter(c, upper-latin) basic
content: counter(c, upper-alpha) basic
content: counter(c, lower-greek) basic
content: counter() error cases failure
content: counters(c, ".") basic
content: counters(c, ".", none) basic
content: counters(c, ".", disc) basic
content: counters(c, ".", circle) basic
content: counters(c, ".", square) basic
content: counters(c, ".", decimal) basic
content: counters(c, ".", decimal-leading-zero) basic
content: counters(c, ".", lower-roman) basic
content: counters(c, ".", upper-roman) basic
content: counters(c, ".", georgian) basic
content: counters(c, ".", armenian) basic
content: counters(c, ".", lower-latin) basic
content: counters(c, ".", lower-alpha) basic
content: counters(c, ".", upper-latin) basic
content: counters(c, ".", upper-alpha) basic
content: counters(c, ".", lower-greek) basic
content: counters() string argument composite
content: counters() string argument detailed
content: counters() error cases failure
Counter scope basic
Counter scope and nesting on elements composite
Counter scope and nesting on :before composite
Counter scope and nesting on :after composite
Counter scope and nesting detailed
Counter properties on 'content: none' pseudo-elements composite
Counter properties on 'display: none' elements composite
Counter properties on 'visibility: hidden' elements composite
Implied counter scopes with no 'counter-increment' or 'counter-reset' basic
Implied counter scopes by counter use composite
Implied counter scopes by 'counter-increment' detailed
dynamic changes to 'counter-increment' composite O
dynamic changes to 'counter-increment' composite O
dynamic changes to 'counter-increment' composite O
Multiple resets for same counter composite
Multiple increments and resets composite
Order of 'counter-reset', 'counter-increment', and counter use, including pseudo-elements composite
Order of counters in out-of-flow content detailed
dynamic changes to 'counter-increment' composite O
dynamic changes to 'counter-increment' composite O
dynamic changes to 'counter-increment' composite O
counters on the root element evil
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
Counter scope basic
Counter scope and nesting on elements composite
Counter scope and nesting on :before composite
Counter scope and nesting on :after composite
Counter scope and nesting detailed
Counter properties on 'content: none' pseudo-elements composite
Counter properties on 'display: none' elements composite
Counter properties on 'visibility: hidden' elements composite
Implied counter scopes with no 'counter-increment' or 'counter-reset' basic
Implied counter scopes by counter use composite
Implied counter scopes by 'counter-increment' detailed
dynamic changes to 'counter-increment' composite O
dynamic changes to 'counter-increment' composite O
dynamic changes to 'counter-increment' composite O
Multiple resets for same counter composite
Multiple increments and resets composite
Order of 'counter-reset', 'counter-increment', and counter use, including pseudo-elements composite
Order of counters in out-of-flow content detailed
dynamic changes to 'counter-increment' composite O
dynamic changes to 'counter-increment' composite O
dynamic changes to 'counter-increment' composite O
counters on the root element evil
12.4.1 Nested counters and scope
Counter scope basic
Counter scope and nesting on elements composite
Counter scope and nesting on :before composite
Counter scope and nesting on :after composite
Counter scope and nesting detailed
12.4.2 Counter styles
content: counter(c) basic
content: counter(c, none) basic
content: counter(c, disc) basic
content: counter(c, circle) basic
content: counter(c, square) basic
content: counter(c, decimal) basic
content: counter(c, decimal-leading-zero) basic
content: counter(c, lower-roman) basic
content: counter(c, upper-roman) basic
content: counter(c, georgian) basic
content: counter(c, armenian) basic
content: counter(c, lower-latin) basic
content: counter(c, lower-alpha) basic
content: counter(c, upper-latin) basic
content: counter(c, upper-alpha) basic
content: counter(c, lower-greek) basic
content: counter() error cases failure
content: counters(c, ".") basic
content: counters(c, ".", none) basic
content: counters(c, ".", disc) basic
content: counters(c, ".", circle) basic
content: counters(c, ".", square) basic
content: counters(c, ".", decimal) basic
content: counters(c, ".", decimal-leading-zero) basic
content: counters(c, ".", lower-roman) basic
content: counters(c, ".", upper-roman) basic
content: counters(c, ".", georgian) basic
content: counters(c, ".", armenian) basic
content: counters(c, ".", lower-latin) basic
content: counters(c, ".", lower-alpha) basic
content: counters(c, ".", upper-latin) basic
content: counters(c, ".", upper-alpha) basic
content: counters(c, ".", lower-greek) basic
content: counters() string argument composite
content: counters() string argument detailed
content: counters() error cases failure
12.4.3 Counters in elements with 'display: none'
Counter properties on 'content: none' pseudo-elements composite
Counter properties on 'display: none' elements composite
Counter properties on 'visibility: hidden' elements composite
12.5 Lists
display basic
list-style-type basic
list-style-type basic
list-style-image basic G
list-style-position basic
list-style evil A G
list-style composite G
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
Inheritance evil
color atomic
14.2 The background
The Canvas basic
14.2.1 Background properties: 'background-color', 'background-image', 'background-repeat', 'background-attachment', 'background-position', and 'background'
float composite G
float composite G
float composite G
clear composite G
background-color atomic
background-color basic
background-image atomic
background-image basic G
background-repeat basic A G
background-repeat basic A G
background-repeat composite A G
background-repeat composite A G
background-repeat composite A G
background-repeat composite A G
background-repeat composite A G
background-repeat composite A G
background-attachment basic G
background-position basic A G
background-position basic A G
background composite A G
Replaced Elements detailed A G
14.3 Gamma correction
15 Fonts
15.1 Introduction
15.2 Font matching algorithm
15.3 Font family: the 'font-family' property
font-family basic
font basic
font basic
font basic
font basic
font basic
font basic
font basic
font basic
font basic
font composite
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
font-style basic
text-decoration detailed G
font basic
font basic
font basic
font basic
font basic
font basic
font composite
15.5 Small-caps: the 'font-variant' property
font-variant basic
font basic
font basic
font basic
font basic
font basic
font basic
font composite
15.6 Font boldness: the 'font-weight' property
font-weight basic
font basic
font basic
font basic
font basic
font basic
font composite
15.7 Font size: the 'font-size' property
font-size basic
font-size atomic
font-size atomic
font-size atomic
font basic
font basic
font basic
font basic
font basic
font basic
font basic
font basic
font basic
font basic
font composite
15.8 Shorthand font property: the 'font' property
font basic
font basic
font basic
font basic
font basic
font basic
font basic
font basic
font basic
font basic
font composite
16 Text
16.1 Indentation: the 'text-indent' property
text-indent atomic
text-indent detailed
16.2 Alignment: the 'text-align' property
margin-right composite A G
margin-left composite A G
padding-right composite A G
padding-right atomic
padding-left basic A G
padding-left atomic
Floating Elements detailed
Replaced Elements detailed A G
text-align basic
16.3 Decoration
16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration' property
Inheritance evil
16.4 Letter and word spacing: the 'letter-spacing' and 'word-spacing' properties
word-spacing atomic
word-spacing atomic
letter-spacing atomic
letter-spacing atomic
16.5 Capitalization: the 'text-transform' property
text-transform basic A G
16.6 Whitespace: the 'white-space' property
white-space basic A G
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
Border Conflict Resolution (width) - hidden/hidden detailed
Border Conflict Resolution (width) - hidden/double detailed
Border Conflict Resolution (width) - hidden/solid detailed
Border Conflict Resolution (width) - hidden/dashed detailed
Border Conflict Resolution (width) - hidden/dotted detailed
Border Conflict Resolution (width) - hidden/ridge detailed
Border Conflict Resolution (width) - hidden/outset detailed
Border Conflict Resolution (width) - hidden/groove detailed
Border Conflict Resolution (width) - hidden/inset detailed
Border Conflict Resolution (width) - hidden/none detailed
Border Conflict Resolution (width) - double/hidden detailed
Border Conflict Resolution (width) - double/double detailed
Border Conflict Resolution (width) - double/solid detailed
Border Conflict Resolution (width) - double/dashed detailed
Border Conflict Resolution (width) - double/dashed detailed
Border Conflict Resolution (width) - double/ridge detailed
Border Conflict Resolution (width) - double/outset detailed
Border Conflict Resolution (width) - double/groove detailed
Border Conflict Resolution (width) - double/inset detailed
Border Conflict Resolution (width) - double/none detailed
Border Conflict Resolution (width) - solid/hidden detailed
Border Conflict Resolution (width) - solid/double detailed
Border Conflict Resolution (width) - solid/solid detailed
Border Conflict Resolution (width) - solid/dashed detailed
Border Conflict Resolution (width) - solid/dotted detailed
Border Conflict Resolution (width) - solid/ridge detailed
Border Conflict Resolution (width) - solid/outset detailed
Border Conflict Resolution (width) - solid/groove detailed
Border Conflict Resolution (width) - solid/inset detailed
Border Conflict Resolution (width) - solid/none detailed
Border Conflict Resolution (width) - dashed/hidden detailed
Border Conflict Resolution (width) - dashed/double detailed
Border Conflict Resolution (width) - dashed/solid detailed
Border Conflict Resolution (width) - dashed/dashed detailed
Border Conflict Resolution (width) - dashed/dotted detailed
Border Conflict Resolution (width) - dashed/ridge detailed
Border Conflict Resolution (width) - dashed/outset detailed
Border Conflict Resolution (width) - dashed/groove detailed
Border Conflict Resolution (width) - dashed/inset detailed
Border Conflict Resolution (width) - dashed/none detailed
Border Conflict Resolution (width) - dotted/hidden detailed
Border Conflict Resolution (width) - dotted/double detailed
Border Conflict Resolution (width) - dotted/solid detailed
Border Conflict Resolution (width) - dotted/dashed detailed
Border Conflict Resolution (width) - dotted/dotted detailed
Border Conflict Resolution (width) - dotted/ridge detailed
Border Conflict Resolution (width) - dotted/outset detailed
Border Conflict Resolution (width) - dotted/groove detailed
Border Conflict Resolution (width) - dotted/inset detailed
Border Conflict Resolution (width) - dotted/none detailed
Border Conflict Resolution (width) - ridge/hidden detailed
Border Conflict Resolution (width) - ridge/double detailed
Border Conflict Resolution (width) - ridge/solid detailed
Border Conflict Resolution (width) - ridge/dashed detailed
Border Conflict Resolution (width) - ridge/dotted detailed
Border Conflict Resolution (width) - ridge/ridge detailed
Border Conflict Resolution (width) - ridge/outset detailed
Border Conflict Resolution (width) - ridge/groove detailed
Border Conflict Resolution (width) - ridge/inset detailed
Border Conflict Resolution (width) - ridge/none detailed
Border Conflict Resolution (width) - outset/hidden detailed
Border Conflict Resolution (width) - outset/double detailed
Border Conflict Resolution (width) - outset/solid detailed
Border Conflict Resolution (width) - outset/dashed detailed
Border Conflict Resolution (width) - outset/dotted detailed
Border Conflict Resolution (width) - outset/ridge detailed
Border Conflict Resolution (width) - outset/outset detailed
Border Conflict Resolution (width) - outset/groove detailed
Border Conflict Resolution (width) - outset/inset detailed
Border Conflict Resolution (width) - outset/none detailed
Border Conflict Resolution (width) - groove/hidden detailed
Border Conflict Resolution (width) - groove/double detailed
Border Conflict Resolution (width) - groove/solid detailed
Border Conflict Resolution (width) - groove/dashed detailed
Border Conflict Resolution (width) - groove/dotted detailed
Border Conflict Resolution (width) - groove/ridge detailed
Border Conflict Resolution (width) - groove/outset detailed
Border Conflict Resolution (width) - groove/groove detailed
Border Conflict Resolution (width) - groove/inset detailed
Border Conflict Resolution (width) - groove/none detailed
Border Conflict Resolution (width) - inset/hidden detailed
Border Conflict Resolution (width) - inset/double detailed
Border Conflict Resolution (width) - inset/solid detailed
Border Conflict Resolution (width) - inset/dashed detailed
Border Conflict Resolution (width) - inset/dotted detailed
Border Conflict Resolution (width) - inset/ridge detailed
Border Conflict Resolution (width) - inset/outset detailed
Border Conflict Resolution (width) - inset/groove detailed
Border Conflict Resolution (width) - inset/inset detailed
Border Conflict Resolution (width) - inset/none detailed
Border Conflict Resolution (width) - none/hidden detailed
Border Conflict Resolution (width) - none/double detailed
Border Conflict Resolution (width) - none/solid detailed
Border Conflict Resolution (width) - none/dashed detailed
Border Conflict Resolution (width) - none/dotted detailed
Border Conflict Resolution (width) - none/ridge detailed
Border Conflict Resolution (width) - inset/outset detailed
Border Conflict Resolution (width) - none/groove detailed
Border Conflict Resolution (width) - none/inset detailed
Border Conflict Resolution (width) - none/none detailed
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 CSS2.1
G.1 Grammar
G.2 Lexical scanner
G.3 Comparison of tokenization in CSS2.1 and CSS1
Appendix I. Index
Informative