 
  
 REC-CSS2-19980512Cascading Style Sheets, level 2  CSS2revision 1
    CSS 2.1 Specification
  W3C Candidate Recommendation  12-May-199825 February 2004
  
  - This version:
  
- 
                http://www.w3.org/TR/1998/REC-CSS2-19980512http://www.w3.org/TR/2004/CR-CSS21-20040225
- Latest version:
  
- 
                http://www.w3.org/TR/REC-CSS2http://www.w3.org/TR/CSS21
- Previous version:
  
- 
                http://www.w3.org/TR/1998/PR-CSS2-19980324http://www.w3.org/TR/2003/WD-CSS21-20030915
- Editors:
  
- 
               Bert Bos
                <bbos@w3.org><bert @w3.org>
- 
               Tantek Çelik
               <tantekc @microsoft.com>
  - 
               Ian Hickson
               <ian @hixie.ch>
  - 
               Håkon Wium Lie
                <howcome@w3.org>ChrisLilley<chris@w3.org>IanJacobs<ij@w3.org><howcome @opera.com>
This document is also available in these non-normative formats:
  plain text,
  gzip'ed tar file,
  zip file,
  gzip'ed PostScript,
  PDF.
  See also 
  translations.
  
  Copyright © 2004 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability,
  trademark,
  document
  use and software
  licensing rules apply.
  
 
Abstract
 
This specification defines Cascading Style Sheets,  level 2 (CSS2). CSS2level 2
revision 1 (CSS 2.1). CSS 2.1 is a style sheet language
that allows
authors and users to attach style (e.g.,  fonts, spacing,fonts and  aural cues)spacing) to
structured documents (e.g., HTML documents and XML
applications). By separating the presentation style of documents from
the content of documents,  CSS2CSS 2.1 simplifies Web authoring and
site maintenance.
CSS 2.1 builds on CSS2 [CSS2] which builds on CSS1  (see[CSS1] ) and, with very few exceptions, all valid CSS1 style sheets are valid CSS2 style sheets. CSS2.
It supports media-specific style sheets so that authors may tailor the
presentation of their documents to visual browsers, aural devices,
printers, braille devices, handheld devices, etc.  This specificationIt also supports
content positioning,  downloadable fonts,table layout, features for  internationalization, automatic counters and numbering,internationalization
and some properties related to user interface.
 StatusCSS 2.1 corrects a few errors in CSS2 (the most important
being a new definition of  this document This document has been reviewed by W3C Membersthe height/width of absolutely positioned
elements, more influence for HTML's "style" attribute and  other interested partiesa new
calculation of the 'clip' property), and  hasadds a few highly requested
features which have already been  endorsed by the Director aswidely implemented.
But most of all CSS 2.1
represents a  W3C Recommendation."snapshot" of CSS usage: it  is a stable document and may be used as reference material or cited as a normative reference from another document. W3C's role in makingconsists of all CSS features
that are implemented interoperably at the  Recommendation is to draw attention todate of publication of the  specification and to promote its widespread deployment.Recommendation.
Status of this document
This  enhancessection describes the  functionality and interoperabilitystatus of this document at the  Web.time
of its publication. Other documents may supersede it. A list of
current W3C  Recommendationspublications and  otherthe latest revision of this technical
 documentsreport can be found in the W3C
technical reports index at  http://www.w3.org/TR . Public discussion of CSS features takes place on www-style@w3.orghttp://www.w3.org/TR/.
 Available formats The CSS2 specificationThis is  available in the following formats: HTML: http://www.w3.org/TR/1998/REC-CSS2-19980512a  plain text file: http://www.w3.org/TR/1998/REC-CSS2-19980512/css2.txt , HTML as a gzip'ed tar file: http://www.w3.org/TR/1998/REC-CSS2-19980512/css2.tgz , HTMLW3C Candidate Recommendation, which means the
specification has been widely reviewed and W3C recommends that it be
implemented. It will remain Candidate Recommendation at least until 1 September 2004.
Publication as a  zip file (this is a '.zip' fileCandidate Recommendation does not  an '.exe'): http://www.w3.org/TR/1998/REC-CSS2-19980512/css2.zip , as wellimply
endorsement by the W3C Membership. It is inappropriate to cite this
document as other than work in progress.
A  gzip'ed PostScript file: http://www.w3.org/TR/1998/REC-CSS2-19980512/css2.ps.gz ,test suite and a  PDF file: http://www.w3.org/TR/1998/REC-CSS2-19980512/css2.pdf . In case ofreport on implementations will be provided
before the document becomes a  discrepancy betweenProposed Recommendation.
The  various forms(archived)
public mailing list www-style@w3.org (see instructions) is preferred
for discussion of this and other specifications in the  specification, http://www.w3.org/TR/1998/REC-CSS2-19980512 is consideredStyle area.
When commenting on this document, please put the  definitive version. Available languagestext "CSS21" in the
 English versionsubject, preferably like this: "[CSS21] <summary of comment>"
This  specificationdocument is produced by the  only normative version. However,CSS working group (part of
the Style Activity, see summary).
Patent disclosures relevant to CSS may be found on the Working
Group's public patent disclosure
page.
Candidate Recommendation Exit Criteria
For  translationsthis specification to exit the CR stage, the following
conditions must be met:
 
  - 
   There must be at least two interoperable implementations
   for every feature. For the purposes of this criterion,
   we define the following terms: 
    - feature
- 
     
      A section or subsection of the specification.
      
- interoperable
- 
     passing the respective test cases in the test suite, or,
     if the implementation is not a web browser, equivalent tests.
     Every relevant test in the test suite should have an equivalent
     test created if such a UA is to be used to claim interoperability.
     In addition if such a UA is to be used to claim interoperability,
     then there must one or more additional UAs which can also pass
     those equivalent tests in the same way for the purpose of
     interoperability. The equivalent tests must be made publicly
     available for the purposes of peer review. 
- implementation
- 
     a user agent which: 
      - implements the feature.
- is available (i.e. publicly downloadable or available
      through some other  languagesseehttp://www.w3.org/Style/css2-updates/translations.html.Erratapublic point of sale mechanism). This is thelist"show me" requirement.
- is shipping (i.e. development, private or unofficial
      versions are insufficient).
- is not experimental (i.e. is intended for a wide audience
      and could be used on a daily basis).
 
 
- A minimum of  - known- errors- insix months of the CR period must have elapsed.
  This- specificationis- available- at- http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html- .- Please- reportto ensure that enough time is given for any remaining major
  errors- in- this- documentto- css2-editors@w3.org- .be caught.
 
- The CR period will be extended if implementations are slow to
  appear. 
- Features that were not in CSS1 will be dropped (thus reducing the
   list of "all" features mentioned above) if two or more
   interoperable implementations of those features are not found by
   the end of the CR period. 
- Features will also be dropped if sufficient and adequate
  tests (by judgment of the working group) have not been produced for
  those features by the end of the CR period. 
  - 1 About the  CSS2CSS 2.1 Specification
- 2 Introduction to  CSS2CSS 2.1
- 3 Conformance: Requirements and Recommendations
  
  
- 4  CSS2Syntax and basic data types
- 5 Selectors
  
  
- 6 Assigning property values, Cascading, and Inheritance
  
  
- 7 Media types
  
  
- 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.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-bottom','border-right', 'border-bottom', 'border-left', and 'border'
 
- 8.6 The box model for inline elements in bidirection context
  
 
- 9 Visual formatting model
  
  
- 10 Visual formatting model details
  
    - 10.1 Definition of "containing block"
    
- 10.2 Content width: the 'width' property
    
- 10.3  ComputingCalculating 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  ComputingCalculating heights and margins
      - 10.6.1 Inline, non-replaced elements
      
- 10.6.2  Inline,Inline replacedelementsblock-level,elements, block-level replaced elements in normal flow, 'inline-block' replaced elements in normal flow andfloating,floating replaced elements
- 10.6.3  Block-level,Block-level non-replaced elements in normalflow,andfloating,non-replacedelementsflow when 'overflow' computes to 'visible'
- 10.6.4 Absolutely positioned, non-replaced elements
      
- 10.6.5 Absolutely positioned, replaced elements
      
- 10.6.6 Block-level, non-replaced elements in normal flow when 'overflow' does not compute to 'visible'; 'inline-block', non-replaced elements; and floating, non-replaced elements
      
- 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
    
  
 
- 11 Visual effects
  
  
- 12 Generated content, automatic numbering, and lists
  
  
- 13 Paged media
  
  
- 14 Colors and Backgrounds
  
  
- 15 Fonts
  
  
-  15.2.6Genericfontfamiliesserifsans-serifcursivefantasymonospace15.3Fontselection15.3.1FontDescriptionsand@font-face15.3.2DescriptorsforSelectingaFont:'font-family','font-style','font-variant','font-weight','font-stretch'and'font-size'15.3.3DescriptorsforFontDataQualification:'unicode-range'15.3.4DescriptorforNumericValues:'units-per-em'15.3.5DescriptorforReferencing:'src'15.3.6DescriptorsforMatching:'panose-1','stemv','stemh','slope','cap-height','x-height','ascent',and'descent'15.3.7DescriptorsforSynthesis:'widths','bbox'and'definition-src'15.3.8DescriptorsforAlignment:'baseline','centerline','mathline',and'topline'15.3.9Examples15.4FontCharacteristics15.4.1IntroducingFontCharacteristics15.4.2Fullfontname15.4.3Coordinateunitsontheemsquare15.4.4CentralBaseline15.4.5FontEncoding15.4.6Fontfamilyname15.4.7Glyphwidths15.4.8Horizontalstemwidth15.4.9Heightofuppercaseglyphs15.4.10Heightoflowercaseglyphs15.4.11LowerBaseline15.4.12MathematicalBaseline15.4.13Maximalboundingbox15.4.14Maximumunaccentedheight15.4.15Maximumunaccenteddepth15.4.16Panose-1number15.4.17RangeofISO10646characters15.4.18TopBaseline15.4.19Verticalstemwidth15.4.20Verticalstrokeangle15.5Fontmatchingalgorithm15.5.1Mappingfontweightvaluestofontnames15.5.2Examplesoffontmatching16 Text
- 17 Tables
  
  
-  17.7Audiorenderingoftables17.7.1Speakingheaders:the'speak-header'property18 User interface
-  19Appendix A. Aural style sheets
- Appendix B.  ChangesfromCSS1Bibliography
- Appendix C.  ImplementationandperformancenotesforfontsChanges
    - C.1  GlossaryoffonttermsAdditional property values
- C.2  FontretrievalC.3MeaningChanges
- C.3 Errors
    
      - C.3.1 Shorthand properties
      
- C.3.2 Section 4.1.1 (and G2)
      
- C.3.3 4.1.3 Characters and case
      
- C.3.4 Section 4.3 (Double sign problem)
      
- C.3.5 Section 4.3.2 Lengths
      
- C.3.6 Section 4.3.6
      
- C.3.7 5.10 Pseudo-elements and pseudo-classes
      
- C.3.8 8.2 Example of margins, padding, and borders
      
- C.3.9 Section 8.5.2 Border color: 'border-top-color', 'border-right-color', 'border-bottom-color', 'border-left-color', and 'border-color'
      
- C.3.10 Section 8.4 Padding properties
      
- C.3.11 8.5.3 Border style
      
- C.3.12 Section 8.5.4 Border shorthand properties: 'border-top', 'border-bottom', 'border-right', 'border-left', and 'border'
      
- C.3.13 8.5.4 Border shorthand properties: 'border-top', 'border-bottom', 'border-right', 'border-left', and     'border'
      
- C.3.14 Section 9.3.1
      
- C.3.15 Section 9.3.2
      
- C.3.16 Section 9.4.3
      
- C.3.17 Section  9.7 Relationships between 'display', 'position', and 'float'
      
- C.3.18 Section 10.3.2  Inline, replaced elements (and 10.3.4, 10.3.6, and 10.3.8)
      
- C.3.19 Section 10.3.3
      
- C.3.20 Section 10.6.2  Inline, replaced elements ... (and 10.6.5)
      
- C.3.21 Section 10.6.3
      
- C.3.22 Section 11.1.1
      
- C.3.23 11.2 Visibility: the  grammar'visibility' property
- C.3.24 12.6.2 Lists
      
- C.3.25 Section 15.2.6
      
- C.3.26 Section 15.5
      
- C.3.27 Section 16.6 Whitespace: the 'white-space' property
      
- C.3.28 Section 17.2 The CSS table model
      
- C.3.29 17.2.1 Anonymous table objects 
      
- C.3.30 17.5 Visual layout of  CSS2D.1Grammartable        contents
- C.3.31 17.5 Visual layout of table        contents
      
- C.3.32 Section 17.5.1 Table layers and transparency
      
- C.3.33 Section 17.6.1 The separated borders model
      
- C.3.34 Appendix D.2 Lexical scanner
    
 
-  D.3ComparisonoftokenizationinC.4 Clarifications
 
- Appendix D. Default style sheet for HTML 4.0
  
- Appendix E. Elaborate description of Stacking Contexts
  
  
- Appendix F. Full property  indextable
- Appendix G.  DescriptorindexGrammar of CSS 2.1
- Appendix  H.I. Index