2010-01
(2010-0107)
CSS はやっぱり使い物にならない
以前から「世間の評判とは異なり、実際には使いものにならない」と考えてた CSS だが、 <ol> で入れ子の数字リスト (1-1-3 とか) を振らせる程度の事は、幾らなんでもできるだろうと思って、こういうのを参考に見てやってみた。
しかし全然駄目だった。どこが間違っているのか分からず、私の CSS の理解が根本的に間違っているのかと悩んだ。しかし「フォントの大きさを変える」のような CSS なら動いた。これは「IE6 が対応していない」という事か? と思って検索してみる。するとIE6、IE7、IE8におけるCSSの違いまとめというページがみつかる。やはり、IE6 では未対応という事だった。 (「カウンタ値|×|×|○|counter-incrementおよびcontentプロパティ」という箇所。IE7も未対応と判る) FireFox で表示したら、ちゃんと動いていたのである。
入れ子の数字リストを振らせるには、例えば以下の短い CSS を読ませさえすれば、そして表示するブラウザが IE8 以上なら可能である。
ol { counter-reset: item }
li { display: block }
li:before { content: counters(item, "-") ". "; counter-increment: item }
やはり、どんな能書きを垂れようと、実質的に CSS は「見栄えを良くするため」以外に使い道が無いのと一緒だな。こんな互換性の低い物をありがたがっている人間の気が知れない、というか、どうせ納入先は見栄えしか見ないなら、Web で仕事する人には必須なんだろうけど。
CSS で、「ブラウザを判断して IE6 なら条件分岐してバグを利用して表示する」なんてコードを見ていると眩暈がしそう。