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