Specification SectionTests
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>