Jintrick.netagenda2001年07月アーカイブ → 2001年07月09日

ユーザースタイルシート敗北の予兆

WEB相談室に文字の大きさを変えたいという投稿があった。

内容を見ると、どうも文字サイズが中以外だとレイアウトが崩れるということらしい。簡単に解答すれば、CSSのfont-sizeプロパティでうんぬんということになると思うが、「崩れ方」によってはベターな解決策もあり得ると思ったので、見てみた

一見するとテーブルレイアウトの典型。しかし、文字サイズを変更してみると、本文と画像が背景用画像から飛び出す。イマイチ構造が不明だった。ソースを見るのは面倒なので、Style Sheet for Netsurfingを適用。

どうやら背景用画像から、ナビゲーション用の画像まで、divで一つずつ括って、CSSのpositionプロパティで配置を再定義しているらしい。もちろん、文書構造も何もない。すべての要素がバラバラに表示される。ユーザースタイルシートの敗北である。

ここでふと疑問が。そういえばNetscape4.xの文字サイズも固定したいと言っていた。ということは、このデザをNC4で同じように再現しているのだろうか。というわけで、NetscapeCommunicator4.73を起動。

驚いたことに、CSSのpositionプロパティを使って、全く同じようなレイアウトを実現しているではないか。これは相当の労力が費やされたに違いない。しかしjavascriptをoffにしてみた。予想通り、各要素がバラバラに表示されて見事に意味不明。恐らくCSSを用いたレイアウトでNC4との互換性を考慮すると、こうするしかないのだろう。NCのbakcgroundプロパティがお粗末なため、背景用の巨大な画像と文章を重ね合わせているのである。

これは、テーブルでレイアウトしてくれたほうが余程良いという典型的な例である。なにしろ、positionプロパティ依存のマークアップであるため、要素の登場順序さえ、意味を持たなくなる。レガシーですらない、positionの誤用。CSS対応ブラウザの普及でこの「テクニック」が蔓延してしまったらと思うと、やりきれない思いがする。

しかし、font-sizeプロパティも知らず、ここまで難儀なCSSを使いこなせる人がいるだろうか。しぶしぶソースを覗いてみると、metaの記述こそ発見できなかったものの、外部でなくすべてstyle属性で指定していることから恐らく、WYSIWYG系のツールを使っているに違いない。最近はこういう形でCSSを吐き出すものが増えているのだろうか。「NC4でも同じレイアウトを簡単に」とか謳って。

ユーザースタイルシーター(造語)にとってこれ程の悲劇はない。こんなふざけたツールを開発した馬鹿は誰? というか、そもそもなんていう名前のソフトだろう。休日を割いて糾弾文書(大袈裟)を書きたい気分。


webmaster@jintrick.net
公開: 2001年07月09日
カテゴリ: CSS ,HTML ,ブラウジング