CSS consists of several levels of development. CSS Level 1 was formally proposed to the W3C in 1995, and officially adopted as a standard at the end of 1996. CSS Level 2 was created the year after, and accepted as a standard in 1998. The development of CSS3 was started that same year, with a different approach: rather than developing one monolithic standard, the specification was broken into separate modules, each with its own development track. Many of these modules are still officially in development (“draft”) as of this writing, although many browsers support CSS3 proposals.
It is important to note that each of these levels builds upon the last: each adds to the other, and as a rule does not replace or deprecate what was developed previously. Using CSS1 now is still as valid as it was ten years ago.
What has changed is browser support. Early browser support for CSS was slipshod, haphazard, and bug-ridden. While the situation has improved markedly over the last dozen years, there are still some issues. A quick summary of the current state of play is below:
- IE 8
A new version of the Trident rendering engine means that most CSS 1 & 2 is rendered correctly on the page, so long as the HTML is valid. Limited support for CSS3.
- IE 9+
Version 9 adds some HTML5 support, with limited support for CSS3 (no CSS3 gradients, for example). IE 10 has excellent support for both HTML5 and all levels of CSS3
Firefox 21 (the latest version, as of this writing) has excellent support for all levels of CSS.
Version 6 has excellent support for CSS3, including some interesting proposals of its own. All versions (on both Windows and Mac OS X) have strong support for CSS 1 and 2. Uses the Webkit rendering engine.
Version 13 (again, the latest version as of this writing) has excellent support for CSS and HTML5, particularly in forms. Previously used the Presto rendering engine, but is transitioning to Webkit. An under-appreciated browser with an excellent web development environment which is also strong on mobile platforms.
Google's browser uses the same rendering engine as Safari, and can be considered on par with it in terms of CSS and HTML5 support.