Opera、元W3CCSSの概念を発議した張本人 Håkon Wium Lie さんが CSS について Slashdot 野郎共の質問に答えた。名前読めないぞ。

面白かった回答は二つ。

エイリアス、定数(変数)が欲しいんだけど?


CSS is already an indirection. Instead of putting properties and values directly on elements, it associates properties and values with selectors. What you (and others) are proposing is to add another layer of indirection. By doing so, one could possible write shorter, more manageable style sheets. However, there are also some downsides. It requires a new syntactic construct (@alias) and implementations must be able to remember a list of aliases. What if aliases are defined in one style sheet and referenced in another -- should that work? If so, what if the first style sheet isn't available?

コラム状のレイアウトをするためには現状のCSSは力不足では?


I don't think so. CSS2 defines a table layout that can be used for this purpose. The problem is, and I'm repeating myself here, that the dominant browser doesn't support it. Adding yet more features to the specification wouldn't help.

最初の方でも仰っているとおり、「CSSは現状でかなり十分な機能を持っている」「問題はブラウザの実装である」、そして「要は考え方次第である」ということを伝えたいように聞こえました。

エイリアス、定数、ずっと検討してきているが、CSSにはセレクタという概念(抽象化手法)があるのに、なぜその他にも必要とするんだ?。というところ。

レイアウトの話だと、テーブルレイアウト用の機能を用意したのに、なぜ使わないんだ?。なぜIEはサポートしないんだ?。何?テーブルレイアウトを無くすためにCSSがあるんじゃないかって?。それは違う。悪いのは「テーブルレイアウト」ではなくて、「tableタグを使ったレイアウト」なんだ。せっかくテーブルレイアウトの概念に馴染んだみんなのために、CSSで模せるようにしたのに、なぜ使わないんだ?。なぜIEはサポートしないんだ?

そんな感じでしょうか。どっちもIEの実装に阻まれている気がしますが(複数クラス指定がうまく重ならない等)、いかにも頭のいい人の発言で、なんというか、全く仰るとおりだ、自分の頭が凝り固まっていたなあという気もすれば、おいおいみんなそんな頭良くないぜ、だから他のプログラム言語やアプリの手法をそのまま模して持ってきてよ。という気も同時にする。

ちなみに回答中でふれられている、CSS3でのレイアウトに関するプロポーザル・ドラフトなども見るとずいぶん愉快だと思いました。