Why use Cascading Style Sheets?

  1. By editing a single CSS file, you can make sitewide design changes in seconds.
  2. CSS lets you output to multiple formats quickly.
  1. CSS lets you use logical names for page elements. You can, for example, give a DIV the name "header", or a H1 the class "headline". It's self-describing.
  1. External CSS files are cached by browsers, improving load time.
  1. CSS eliminates the need for messy code -- namely font tags, spacer gifs and nested tables. This improves load time and makes developers' lives easier.
  1. CSS lets you do things normal HTML doesn't. Examples: better font control, absolute positioning, nifty borders.
  2. Practical use of CSS encourages proper HTML structure, which will improve accessibility and search engine placement.
  1. CSS's :hover PseudoClass cuts down on the need to use JavaScript onmouseover calls.
  1. If you want valid XHTML Strict you have to use it anyway

OwenBriggs? has a good self-described rant on this topic:

[Whatever for?]

An interview with published CSS author, Christopher Schmitt, covers the [Top 10 Reasons to Learn CSS].

A number of projects are dedicated to advocating these assertions (not confined solely to CSS):

But see also WhatCssNeeds