古き良き時代は去りました。前の千年紀には、 CSSに対応したブラウザ
は2 つしかありませんでした。しかもこれらのブラウザは、当時は機能が
かなり限られていた仕様の中の、さらにかなり限られた部分にしか対応し
ていませんでした。どんな機能を利用でき、どれが利用できないかをすべ
て覚えてしまうのも容易でした。それぞれの実装にはさまざまなバグや見
落としがあり、お笑いも同然のひどいものもありましたが、このような誤
りについても我々は把握していました。あまりにも根本的な一部のバグの
せいで、各ブラウザでのレイアウトのふるまいにはまったく互換性があり
ませんでした。この問題を回避するために、HTMLパーサーのバグにつけ
込んだハックを大量に用意するといったことまで行われました。
そう考えると、かつてはひどい時代だったのかもしれません。ハックは
今や必要なくなりました。
CSSについては、ここ数年の間に事態が大幅に改善しています。それぞ
れのブラウザは、ほとんどの領域で互換性を達成しています。非互換の機
能についても、あるブラウザが対応している機能を別のブラウザは対応し
ていないという状況であることがほとんどです。それぞれのブラウザが同
じ機能を異なるやり方で実装し、ひどい状態を招くといったことはありま
せん。かつての複雑なトリックがはるかにシンプルかつコンパクトに作り
なおされたという場合も含めて、さまざまな機能が仕様に追加されていま
す。かつてと比べて、CSSにははるかに多くの機能そして能力が備えられ
ています。しかし誰も ...