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, and is 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 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 6.0
The bane of the web designer's existence. IE 6.0 has numerous bugs, tweaks, and inconsistencies in interpreting basic CSS, including (most famously) a broken box model. Some of these can be avoided by using the correct
doctypedeclaration, with one caveat: the XML prolog must be dropped from the first line. (We'll talk more about developing for IE 6 in later classes.)- IE 7.0
Better support for CSS2, but it kept the same basic rendering engine as IE6, leading to many of the same problems.
- IE 8
A new version of the Trident rendering engine means that CSS is now largely rendered correctly on the page, so long as the XHTML is valid. Limited support for CSS3.
- IE 9+
Version 9 adds HTML5 support, with still limited support for CSS3 (no CSS3 gradients, for example).
- Firefox
Firefox 9 (the latest version, as of this writing) has excellent support for CSS 1 and 2, and very good support for CSS3 proposals. Firefox 3 and earlier covers CSS 1 and 2 very well, but lacks support for most of the CSS3 draft.
- Safari
Version 5 has excellent support for CSS3, including some interesting proposals of its own (particularly for CSS animations). All versions (on both Windows and Mac OS X) have strong support for CSS 1 and 2. Uses the Webkit rendering engine.
- Opera
Version 11.5 (again, the latest version as of this writing) has excellent support for CSS and HTML5, particularly in forms. Uses the Presto rendering engine. An under-appreciated browser with an excellent web development environment which is also strong on mobile platforms.
- Chrome
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.
so we don't need the jQuery minimum length anymore:) cool!


