CSS, or Cascading Style Sheets, were originally created to solve a problem with html 4.0. Because HTML was never intended to contain tags for formatting a document tags like font had to be used to format the look of text which created unnecessarily bulky code.
To solve this problem, the World Wide Web Consortium (W3C) created CSS which allowed all formatting to be removed from the HTML document and be stored as a separate file which was added to the document though a Link tag.
CSS files have universal browser support and are typically stored in external files. As well as defining how the file looked, CSS enables you to allocate styles to numerous elements via direct, class, id and pseudo selectors, so with just one line you could tell all paragraph tags to be blue, rather than having to add the font tag with a colour of blue to every paragraph element, which can be very time consuming in long docs, specifically if you then decide you want them to be red!
With CSS came Pseudo selectors, these allow you to control the styling even deeper, for example, to set a specific style on only the first row of a table (:first-child) and define how a link behaves when a mouse hovers over it (a:hover) or when it is clicked (a:active), further extending the ability to customise pages.
CSS first appeared in 1996, and since then it has evolved significantly, now at level 3 (CSS3) you can define far more than ever before, even replacing the need for images in some instances. The box-shadow property is slowly becoming a standard for browsers, and allows designers to instruct the browser to render a shadow for a box, rather than having to create the image from scratch, so reducing design time, as well as the overall file size of a page.
Although CSS3 is not supported for all browsers right now, notably IE8, it is evident we can anticipate a lot of exciting things as it is further developed.
Do you implement CSS3 on your websites already?
Chris Gilchrist owns and runs Hit Reach, a Web Design Business in Dundee who specialise in WordPress Web Site Design & Development and SEO.