CSS (Cascading Style Sheets)スタイルシート(CSS) の導入は比較的最近 (1996年12月) のことですが、アイデアそのものは以前からありました。
SGMLにはすでに DSSSL(Document Style Semantics and Specification Language) と呼ばれるスタイルシートについての仕様があります。DSSSLは最近になって SGMLの国際規格として確立されたのですが、人間にとって理解するのが非常に難しいものとなっています。ということは、HTMLの原則である「人間とコンピューターの両者にとって読みやすく理解しやすい」という理念に反するわけです。
このため、W3Cではこれに代わるスタイルシートの実現のアイデアとして、CSSと呼ばれるものが提案されたのです。CSSフォーマットは人間にとって理解しやすく、HTML制作者のことを考えて設計されたものです。
HTMLの仕様にスタイルシート (CSS) が取り入れるというのは、Webでは比較的最近の進化ですが、スタイルシートそのものは DTP(Desktop publishing)の世界では頻繁に使われている技法です。スタイルシートは特定の体裁で文書を作成するためのものとして、DTPソフトやワープロソフトで使われており、個々の文書や印刷物に固有のスタイルを作成するフォーマット用テンプレートとして加工することができます。Microsoft Word や「一太郎」などのワープロソフトを使ったことのある人なら、ソフトに標準でついてくる既製のスタイルシートを使ってユーザが希望のスタイルに文書をフォーマットできることを御存知でしょう。HTMLドキュメントに大量のフォーマット情報を追加するのはおそらく不可能です。HTMLは本格的なレイアウトやフォーマットの規則を念頭に設計されたものではないからです。装飾上のレイアウトではなく、論理的な文書構造に従ったレイアウトを行うという考え方を踏襲しています。HTMLでは DTP制作環境だけでなく、一般的なワープロソフトで実現されている凝った表現ができないからです。スタイルがそれほど重要でない場合でも、Webページに写真やイラスト、見出しの装飾属性などの要素を貼る時の制約に、彼らは不満を持っていたのです。Microsoft や Netscapeが W3C とは別に独自に発表したタグの多くが、HTMLのこうした欠点に対処するためのものでした。centerタグや spacerタグなどは HTMLベースとしている論理構造に準拠していませんが、今もって制作者には人気があります。Netscapeに実装されていた spacer要素は、現在は廃棄されています。CSSは Webページにフォーマット的要素をもっと使いたいと考えている制作者の希望と、異なるプラットフォームやブラウザ間で問題なく使える言語としての HTMLの柔軟性の橋渡しをするために設計されました。CSSを使って作ったページは、当時の HTML2.0に厳密に準拠したブラウザでも問題なく読めて、しかも CSSに対応したブラウザ上ではスタイル的、あるいはフォーマット的要素を実現したのです。HTMLへの実装はこちらの カスケーディング・スタイルシート をご覧ください。