What is it?
Cascading Style Sheets (CSS) is a style sheet format for HTML documents endorsed by the World Wide Web Consortium (W3C). It is used to define layouts, fonts, colours and other aspects of web document presentation.
When XHTML2 (due in 2007) becomes mainstream, use of stylesheets will effectively become mandatory. This should make life easier for web professionals, particularly those maintaining pages that need updating frequently, since HTML pages themselves will no longer contain presentational tags.
CSS enables browser and device independence (provided the browsers are compliant), and the same stylesheets can be used to define presentation in print, audio (specifying speed, pronunciation and emphasis) and Braille.
CSS has a simple English-based syntax. It can be used both for XML and HTML documents, and is also used in conjunction with Extensible Stylesheet Language (XSL). CSS and XSL use the same underlying formatting model, and designers can use the same formatting features in both languages.
Where did it originate?
The idea of stylesheets has been around since the 1970s. The W3C began thinking about stylesheet languages in 1994. CSS is based on two proposals: Cascading HTML Stylesheets and Stream-Based Stylesheets. CSS level 1 emerged in 1996, and level 2 (effectively the version used today) arrived in 1997.
However, it was not until 2000 that the first browser to provide full CSS1 support became available. No browser has yet fully implemented CSS2, and this compromises the goal of full device independence.
What's it for?
CSS enables presentation to be separated from content. "Cascading" means that priorities are assigned when conflicting definitions of presentation are offered by the original designers, the browser, or users. Users can define presentation to suit their own preferences and needs.
What makes it special?
Separating presentation from content means that all the pages on a site can have their appearance changed consistently just by changing the stylesheet. Documents are smaller and easier to maintain since they do not contain unique presentational instructions.
How difficult is it to master?
CSS may have a simple syntax, but in the real world there are problems with bugs and lack of support - or worse, misrendering of CSS - in different browsers.
By one estimate, Internet Explorer 6 does not support about 30% of CSS level 2. This means designers still have to check and test cross-browser compliance, as they do with HTML pages. Some authoring tools help with the complexities of CSS use but, as with browsers, support is patchy.
For Cascading Style Sheets training, the best place to start is the W3C website. Here you can find tutorials, updates on the development of CSS, links to external sources, and details of books and other work by W3C people involved with CSS development, such as Hakon Wium Lie, Bert Bos and Dave Raggett.
You should not have to spend much the W3C recommends you start by downloading a CSS-supporting browser (Opera is the obvious one, but W3C lists many others).
If you find the W3C approach too austere, there are plenty of alternative free tutorials online.
Rates of pay
Cascading Style Sheets experience is needed for many web developer/designer jobs, and it can also be required with premium skills such as Adobe/Macromedia Coldfusion. Salaries for web developers start at £25,000.