remove
powerd by nog twitter

トライアングル調整案

ウェブサイト構築のヒント集 > 「トライアングル調整案」

三つの勢力

ウェブサイトを作る際には、玉石混合の多種多様なブラウザに対応させねばなりません。 そうは言っても、一つ一つ個別に検討していくのも難儀なハナシです。 そこで、大雑把ながら三つに大別してみようと思います。

第一の勢力は IE6 です。'04年現在、最大のシェアを持ち、単独で過半数を越えています。 最大の特徴は HTMLファイルの文書型宣言によって、 レンダリングの方式が変化するコトです。 仮に IE7 が登場したとしたら、この第一の勢力に組み込んでおいてください。

第二の勢力は IE5.X であるとか IE4.X であるとか、古い世代の IE です。 このグループは文書型宣言によるモード切替機能が備わっていません。 そうは言っても、全ユーザーの2,3割ってところですか? 結構なシェアを有していますが、 今後減少していくでしょう。

第三の勢力は Netscape であるとか Mozilla、Opera といった IE以外のブラウザ群です。 最近の(IE以外の)ブラウザは W3C準拠の方針なので、 ベースとなる概念が同一のものである為、基本的にレンダリング・システムは似ています。 シェアは新旧全部ひっくるめて全ユーザーの1割程度(所詮はマイノリティの集合体)。 ただし、今後増えていく可能性が高いグループです。

さて文書型宣言をどのようにしようとも、IE6 は器用に対応してくれます (第二の勢力に合わせるコトも、第三の勢力に合わせるコトも可能)。 しかし、第二の勢力は文書型宣言に対応しておらず、 第三の勢力は padding、border の扱いが第二の勢力とは異なります。


どちらを切り捨てるか?

いつだって決断が重要です。 文書型宣言を Transitional にすれば第三勢力への不具合が懸念され、 文書型宣言を Strict にすれば第二勢力への不具合が懸念されます。 つまり、実際問題としてレイアウトが崩れるかどうかは置いておいて、 ウェブサイトの方針を決定する必要はあるワケです。

今現在の状況を考えるのが得策でしょうか? いや、将来的な動きを読んで、 未来の状況に合わせる方が賢明ではないでしょうか? 今後、各メーカーのブラウザがどのような方向性で進歩していくのかは、 ある程度はっきりしています。 それは、Strict であり、XHTML であり、やがて実装が試みられる CSS3 という方向性です。

IE6 になって、文書型宣言によるモード切替が採用されたのは歴史的事件なのかもしれません。 IE6 におけるモード切替は、他のブラウザ(Mozilla とか)に装備されているモード切替とは意味合いが違います。 Transitional と宣言すれば IE5.X 以前のやり方を踏襲しますが、 Strict と宣言すれば W3C 準拠に近いやり方でレンダリング(HTML の組み立て)を行います。 つまり IE6 では、第三勢力と融和できる機能が追加されたワケです。 この機能はメリットしかないものなので、IE7 になっても引き継がれるでしょう。

IE も非常に消極的ながらも、W3C 準拠への道を辿り始めています。 いや、正確に言うならば「IE的な発想で作られたウェブに対しても、 一般的(Strict)な発想で作られたウェブに対しても、その両方に対応できるブラウザ」 を目指しているのではないかと思われます。

今後、第二勢力(IE5.X 以前の IE)のシェアが減少していくのは確実ですが、 第一勢力(IE6 以降の IE)と第三勢力(Mozilla や Opera の総体)のユーザー比率がどのように変化するのかは 分かりません。 こういう分からないコトをあれやこれやと予測しても、意味は無いでしょう。 しかし、どう転ぶにせよ、ブラウザの方向性はハッキリしています。 シェアは少なくとも、第三勢力に合わせたウェブ作りをすれば間違いは無いと思います。 もちろん、IE の独自特性を十分に考慮した上で...。


そもそも幅を指定しなければ...

CSS でアレやコレやと詳細に指定すればする程、応用が利かなくなります。 柔軟性の低い”剛”の HTMLファイルは、ブラウザへの融通が利きません。 例えば、width や height による範囲指定を行わなければ、Transitional でも Strict でも大差ありません。

左が非IEブラウザ、右がIE6で同じファイルを閲覧したものです。
Firefox IE

実は IE にはイロイロと独自特性がありまして、縦横の幅指定を行ったボックスに文字が収まりきらない場合、 勝手にボックスの大きさを(縦方向に)延長するという特性があります。 逆に IE以外のブラウザであれば、width と height による幅指定を律儀に守り、 収まりきらない文字はボックスの外にハミ出します。

このように、width と height による範囲指定は、ブラウザ間におけるレンダリングの差異を生み出しやすいので 注意が必要です。 幅を指定する必然性が無いのなら、指定しない方が無難な選択となります。



©2004 webman60kg / リンクはご自由にどうぞ
E-mail : webman60kg@infoseek.jp