has evolved over the past several years under the guidance of the W3C into its current form. Most modern browsers (Microsoft Internet Explorer 7, Mozilla Firefox 2, Apple Safari 2, Opera 9) support Level 2 (which includes Level 1 and -Positioning). However, after years of development, Level 3 still remains a work in progress. The following are some details about each of the versions:

  • Level 1 (CSS1) The W3C released the first recommendation in 1996, and revised it in 1999. This early version included core capabilities, such as the ability to format text, set fonts, and set margins. Netscape Navigator 4 and Microsoft Internet Explorer 3 and 4 support Level 1 almost.
  • Positioning (-P) Web designers needed a way to position elements on the screen precisely. CSS1 had already been released, and browser support for Level 2 was still off in the distance, so the W3C released a stopgap solution: Positioning. This working draft was a proposal that the various browser makers could debate for a while before it became official. Netscape and Microsoft jumped on these proposals, however, and included the preliminary ideas in their version 4 browsers. Do both Netscape and Internet Explorer support -P? Sort of. Although most of the basic features are supported in both of the “name-brand” browsers, several features were left out.
  • Level 2 (CSS2) This version of came out in 1998 and is the most widely adopted by browser makers. Level 2 includes all the attributes of the previous two versions, plus an increased emphasis on international accessibility and the capability to specify media-specific . Microsoft Internet Explorer 5 and later, Opera 3.5 and later, Apple Safari 1 and later, and Mozilla Firefox 1 and later generally support Level 2.The W3C has released updated drafts as Level 2 Revision 1 (2.1). 2.1 has corrected some errors, clarified a few issues, and included specifications for some features that have already been implemented in some browsers.
  • Level 3 (CSS3)  Work on CSS3 began in 2000, not long after CSS2 was made official. While it is still under development, work on the specification has been divided into various topics, or modules. So, while it may be some time before all of CSS3 is completed, some modules will be ready before others. However, as is the case with previous versions of , once each module is developed, it most likely will take several years for browsers to support it.
    Considering there was a six-year lapse between versions of Internet Explorer 6 and 7, CSS3 most likely won’t be ready for prime time anytime soon. See the sidebar “The Future of ? Level 3″ for more details. Although this specification is still under development, some browsers (most notably Apple Safari and Mozilla Firefox) have started integrating some of its features, most notably opacity.

The Future of ? Level 3

Never content to rest on its laurels, the W3C is hard at work on another rendition of Cascading Style Sheets: Level 3 (w3.org/Style//current-work). Many of the problems that CSS2 doesn’t adequately address will be resolved in this upcoming version.

Although the standard is still under construction (and has been for several years), many of the additions to CSS3 sound very exciting. Here are some highlights:

  • Columns The most exciting new feature proposed for CSS3 is the ability to create flexible columns for layout. is complicated when used to replace tables for multiple-column layout. Ideally, CSS3 will take care of this problem.
  • Web fonts Although CSS2 theoretically provides downloadable-font capability, it’s still too hard to use. The W3C wants to make fonts more Web-friendly in CSS3.
  • Color profiles One common problem with graphics is that they may be darker or lighter, depending on the computer being used. CSS3 will allow authors to include color descriptions to offset this problem.
  • User interface CSS3 will add more pointers, form states, and ways to use visitor-dictated color schemes.
  • Behaviors The most intriguing new capability uses to dictate not only visual styles, but also the behavior of objects. This would provide further dynamic controls through .

Quotation from “Visual Quickstart Guide , DHTML, and Ajax, Fourth Edition Book”

Tags: ,