2006 年 9 月 18 日 23 時 59 分

Cascading Style Sheets (CSS)


このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。


Web サーバ側技術が一時安定した頃、
WWW は新たな問題に直面していた。
それは、Web ブラウザ上での表現である。

通常のプログラムが、時代と共に
利用者にやさしいデザインへと進化していく中、
WWW では表現に関する制約により、
思い通りにデザインできないという悩みがあった。

通常のプログラムでは、表現は自由にできるが、
Web ブラウザの画面のレイアウトは、
基本的に HTML を使うため自由に表現できない。

HTML は、文書の意味に基づいた構造を表すため、
配置や色、大きさなどの視覚的な表現ができないからだ。

そのため、同じ HTML でも、
実際にどのように表示されるかは、
Web ブラウザの種類によって異なっていた。
そのため画像を使って画面を飾ろうとしても、
ずれたり、間が開いたりとなかなか難しいのだ。

この当時、うまくレイアウトするためには、
表である <table> や 表のセル <td> に、
幅や高さを指定する属性があることを利用し、
指定位置に持ってくるしか方法がなかった。

これは、テーブルレイアウトと呼ばれ、
今でも数多く使われている手法である。
HTML の意味論では誤った使い方なのだが、
当時は仕方なかったのだ。

でも、テーブルレイアウトにも限界はあった。
凝った作りにしようとすると、HTML の中に
大量の <table> 系要素が出現するため、
HTML の編集や保守が難しくなってくる。

また、各社が HTML に独自拡張を施し、
自社の Web ブラウザでのみ利用可能な、
特別な要素を追加したりと、
HTML が泥沼化してきていた。

その解決策として、新しく規格化されたのが、
Cascading Style Sheets である。

CSS は、WWW に関する規格の標準化を行っている
World Wide Web Consortium という団体により
規格化され、1996 年に文書として発表された。

Cascading Style Sheets は、スタイル言語である。
スタイルという名前が示すとおり、
視覚的な表現に特化した言語である。

CSS は、HTML を組み合わせることを想定しており、
HTML の要素に視覚的な表現を追加する機能をもつ。
構造を HTML で、デザインを CSS で表現することで、
構造とデザインを分離することができる。

CSS は単独のファイルとして作成し、
HTML から参照させることが可能なので、
HTML の保守性も飛躍的に向上した。

複数の HTML で同じ CSS を使うことにより、
Web サイトのデザインに一貫性を持たせることもできる。
また、表示の調整も CSS の編集だけで済む場合が多い。

このように、CSS は革命的な規格であった。
CSS の出現により、大幅に画面の表現力が増し、
これ以降、凝ったデザインを持つ Web サイトが
急激に増加することになる。

ただ、CSS は比較的大きな規格であり、
Web ブラウザのレイアウトに関わるものであったため、
各社 Web ブラウザ側の対応には時間を要することになる。

最初の CSS が規格化され、10 年程度たった今でも、
CSS 規格に準拠している Web ブラウザはそれほど多くない。

そのため、CSS に対応していなくとも、
それなりの視覚的表示ができるような、
「互換性レイアウト」を採用しているサイトが多い。
発展がめまぐるしい WWW では仕方のないことであると思う。

CSS の浸透にはもう少し時間が掛かりそうである。



Copyright (c) 1994-2007 Project Loafer. All rights reserved.