CSS3 Introduction
CSS1 was introduced back in 1996 and the current full version CSS Level 2 Revision 1 (CSS2.1) became a Recommendation in June 2011
The W3C are now working on the next version, CSS3, and it promises all manner of new properties and functionalities such as Animations and 2D and 3D Transformations in addition to all the current capabilities of CSS2.1 which are being expanded and refined.
CSS3 Modules
Due to the increased complexity and size of CSS3 in relation to CSS2.1 the W3C has split CSS3 into a series of 'Modules' each of which covers a different aspect of CSS.
These modules are totally independent of each other and some are much further along the development process towards full Recommendation status than others. CSS Colours Level 3 became part of the specification on 7 June 2011 and CSS Selectors Level 3 joined the spec. on 29 September 2011. CSS Selectors Level 4 is already a 'Working Draft' so it is quite possible that some of Level 4 will be included before all of Level 3 has joined the specification.
For a detailed look at all the modules and the stage of development they have reached please see the CSS3 Modules page.
When can I use CSS3?
Due to the nature of browser development there is no simple answer to this question. The makers of Firefox, Safari, Chrome and Opera upgrade their software several times a year which enables them to introduce new features and properties quickly after they become a W3C Recommendation.
Microsoft on the other hand has only released three new versions of Internet Explorer in the past ten years. IE is still one of the most popular browsers in use today and a significant number of IE users have IE8 or earlier installed which means that recently developed properties will not be supported.
CSS Level 3 Browser Support
At the time of writing CSS3 selectors are supported in all the major browsers except IE8 and earlier, and the opacity property defined in CSS Colors Level 3 is
also supported in all browsers except IE8 and earlier when you must use the alternative proprietary 'filter' property i.e.
filter: alpha(opacity=50) - please see the opacity property description for further details.
RGBA, HSL and HSLA colours which are detailed in the CSS3 colours module are also unsupported in IE8 and earlier.
As the CSS 3 Modules are being introduced sporadically and not all at once this problem with browser compatibility could well become more pronounced than in previous versions of the language.
