毎日 HTML 及び CSS と格闘してると頭が腐りそうになってくる。つくづく思うが、 Web デザイナーの人達の精神力は相当強靭に違いない。そうでなければこんなふざけた仕様ともっとふざけた実装に付き合っていられない。
俺はイントラネットなどから使う業務用 Web アプリでしか UI デザインの仕事はしてないし、業務用 Web アプリは IE に対応すれば良いと要件に含まれている事が多く、一般向けの Web サービスよりはだいぶ楽だろうとは思う。そんなたいした事をやってない会社のサイトでも、 IE と Gecko の対応だけでも結構大変だし。
ところで「IE のみ対応」でいい場合、極まれに IE 独自拡張の expression が役に立ったりする。いや、本当にレアケースだけど。今日あった事例はこんな感じ。
/* システムメッセージ領域 */
.message {
border: 1px solid block;
color: #aa0000;
background-color: white;
/* 大人の事情で追加された expression */
display: expression(this.innerHTML == "" ? "none" : "block");
}
CSS に JavaScript のコードを書くとかマジで勘弁してほしいんだけど、要件が要件だったからな。
諸事情によりこのメッセージ領域の要素は常に出力させて、メッセージが無いときは単に空の要素を生成して、その時にはボーダーも背景も表示させないという要求だった。普段なら「それは無理。 JSP タグの改修で対応するんで工数くれや」なんだけど、今回は実に様々な事情(主にスケジュール)によりこれを採用する事にした。
いや、いくらそういう要求だからっていつまでもこんなことしてちゃダメだとは思うけど。
この怪文書はクリエイティブ・コモンズ・ライセンスの元でライセンスされています。引用した文章など Kuwata Chikara に著作権のないものについては、それらの著作権保持者に帰属します。