tableタグが非推奨になってかなり経ったら、いつのまにか非推奨から外れていた。
当初のブラウザは気まぐれなレイアウトをすることが多く、ブラウザを出している会社同士が他社のブラウザとの差別化が激化して非互換タグや非互換仕様のを実装してドロ試合になっていた時期があった。
色々なブラウザで良い具合に見せるには、
画像やテキストを賽の目に分割しTABLEタグで表示する
しか方法が無かった時期が本当にあったかのだ。
そのため、TABLEタグは
ブラウザの非互換の切り札
として盛んに使われた。
こうなるとブラウザを出している方のメンツは丸つぶれである。
そして、W3Cとか規約を本腰で策定しなければいけないハメに陥った訳だ。
その元凶でもあるTABLEタグを目の敵になったのは容易に想像が付く。
- width,heightを設定せずに半端ではない巨大な表を表示させるのは危なっかしい
- セルの文字によって画面のレイアウトが崩れる
- 大量のテキストの場合は表示が重くなる
色々と難癖を付けて非推奨に持って云ったようだ。
まぁ、それ以前に大量のテキストを表示するだけで
落ちるブラウザもあったり、勝手にぶった切ってステータスにエラーも
表示しないブラウザもあったりとか・・・
つまりトラウマと云う名のイヤガラセ、いや単なる責任転換である。
本当に心の狭い人たちだったようだ。
しかし、その代用品として出てきたCSSを見れば判るが、
TABLEに変われるレイアウト機能は今も存在しない。
CSSは1つのタグで区切られたテキストや画像などを対象としているので、
いくつものタグに区切られるTABLEの様な内部構造を持つものはうまく表現できない。
また16×16の表をCSSで見せ掛けだけでも表現しようとすると、大抵はブラウザの画面の幅を小さくすれば簡単に破状する。
困ったことにその方が好都合だからTABLEは要らないとか言い出すマイルール野郎は世界中にいる。TABLEがないとレイアウトできない仕事にぶち当たったら途端に衣替えするだろうが、それは世界共通の認識である「同士が増えたのだと思えば嬉しい」くらいだ。
まぁ~layer などの絶対座標を使えば結構形になるけど、画面に表示できる表は一つまでと云う制限が追加され、小さな表ですら2つ以上表示出来ないだろうくらいの想像力は働かして欲しいものだ。
結局、トラウマも薄らいだのか、あまりにも利用度が高いせいか、非推奨からいつのまにか外れたようだ。
※HTML3.2 でようやく採用されたようだ。トラウマが薄れるまではかなり時間がかかったらしい。
それにしても代案のハズのCSSは今でも充分に多方面で欠陥品である。
それはCSSの発想が貧相だったと云うのが正解だろう。
それはXMLのレイアウト設定として立案されたXLSも同じくらい駄作である。
これはタグをトリガにしてHTMLのパーツの一部を吐き出す仕組みで出来ているのだ。
Unixのyaccとそう変わらない古臭い仕組みで、Cプログラマなら、まぁ作れないこともないだろう。
しかしC++やJavaプログラマからすれば、
ピタゴラスイッチのアイキャッチのカラクリ
にしか見えないものだ。
実際、うまくレイアウトができるまでは結構試行錯誤が必要でパズルみたいなものなのだ。
いづれも設定同士の組み合わせの前後関係、入れ子関係をうまく説明できていない。
それが判らないヤツは馬鹿なのだといわんばかりの感じの説明しかない。
当然の結果として、いまでもCSSの実装は、ちょっと組み合わせると、トンチンカンな結果がでる。
いづれにしろ、簡単なサンプルはうまく動作できても、サンプル同士を組み合わせると
時々笑ってしまうような結果がでる。
まぁ~古いHTMLの暗黒時代は去ったものの、未だHTMLは欠陥品(あるいは不発弾)で埋め尽くされており、戦後は終わっていないのである。
だから、大きなラジオ(パソコン)より小さなトランジスタ・ラジオ(スマフォ)が好まれるのだろう。
そして、私たちは古く崩壊したはずのSGML帝国がいつも世界制覇を狙っていることを忘れてはならないだろう。