CSS Standards and Versions
The W3C is creating and documenting standards for Cascading Style Sheets. In contrast with W3C standards for HTML, in the case of CSS, the pace of the W3C in setting standards is outstripping that of the browser vendors in implementing them.
While the major browser vendorsMicrosoft and Netscapeeach offer implementations of CSS in their Web browser software, early implementations of CSS by these browsers have been generally incomplete, incompatible with one another, and buggy.
The W3C released the recommendation for CSS Level 1 (CSS1) in late 1996. CSS1 describes the foundation of the CSS language and syntax, and includes basic formatting functionality. Although this recommendation was published in 1996, no leading browser offered a full implementation of CSS1 until Internet Explorer 5.0 for the Macintosh personal computer was released in early 2000.
At the time of this writing, support for CSS in the major browsers is beginning to mature. The current W3C standard is the recommendation for CSS Level 2 (CSS2), released in 1998. CSS2 builds upon CSS1, adding support for style sheets that target particular mediums (such as printers), downloadable fonts, positioning, and tables. The latest versions of both Internet Explorer and Netscape Navigator offer support for mostbut not allof CSS2.
As with HTML, Web browser vendors have implemented proprietary extensions to CSS. CSS3 is currently under development by the W3C and attempts to formalize these extensions in a standard that captures common industry practice.
CSS vs. XSL
The W3C is also formalizing standards for Extensible Stylesheet Language (XSL), a data-transformation language for XML. The goals of CSS and XSL are similar: to transform an associated element in some way. CSS can apply style rules to either HTML or XML. XSL, on the other hand, is designed as a tool to apply transformations to XML structures only.
CSS and XSL differ in their fundamental focus as well. CSS simply associates style properties with elements of a Web document. XSL, on the other hand, offers the capability of transforming the data itself, only incidentally including display rules.
This article has begun our exploration of Cascading Style Sheets with a look at the design goals and assumptions of CSS, along with the role of the W3C in formalizing CSS standards. The next article in this series continues with a closer look at the core elements and functionality of CSS.