Cascading Style Sheets(CSS)とは、HTMLなどの構造化言語で記述された文書にスタイルを与えるための言語です。例えば構造化言語のひとつであるHTMLでは、見出し、段落など文書の構成要素をタグでマークアップします。しかし、これだけでは文書の構造が明示されただけで、それらがどのように表示されるのかまでは決まっていません。この文書にスタイルを与えるのがCSSの役目なのです。
CSSでスタイルを適用できるのはHTML文書に限りません。対象が構造化言語であれば、XML文書にもスタイルを与えられます。
CSS 2.1はCSS 2の改訂版です。このように説明されてしまうことが多いためCSS 2.1はあまり注目されていないのですが、CSS 2が勧告されたのが1998年5月、CSS 2.1の最終草案が出たのは2006年の11月であり、W3Cは7年もの月日を掛けてCSS2の改訂を行っているのです。このことを考慮すれば、CSS 2.1がCSS 2のちょっとしたバージョンアップでないことは容易に想像できるでしょう。
では、具体的にどう変わったかというと
端的に言えば、CSS 2は前方互換性がないがCSS 2.1にはそれがあり、しかも今日のユーザーエージェントの実装が十分考慮されているということです。
現在のところCSS 2.1はまだ勧告されていませんが、Wikipediaによると、2001年ごろからベンダはCSS 2.1を基本仕様と見なしているそうです。これらのメリットをふまえれば、CSS 2よりもCSS 2.1を使う方が賢明であることは間違いないでしょう。