CSS でグリッドベースのレイアウティングを実現するCSS Grid Positioning Module Level 3 とな.
いいにゃあ.コレあれば変なレイアウトテクや裏技やトリックやクラッジを必要とせずに,自然にリキッドレイアウトを作れそうだ.明日あたりに IE と Firefox と Opera と Safari が対応モジュール出してくれないかな~(←無理
ってーかさ……これ要するに,いわゆる <table> レイアウティングを CSS で実現するためのモジュールなんよね.
<table> レイアウティングが嫌われる理由は,本来は「表」を表現するためのタグをレイアウティングに使うから,だったわね.タグを本来の目的通りに使おうという,HTML 4.01 以降の志向に合わない,と.
でだ,現状ではそういう理想がありつつも,CSS 自体の非力さで,表現できるデザインに非常に限りがある.HTML からデザインを除去するために CSS を使用すると,CSS でデザインを表現できなくてはならないが,それが非力なのでそれを補うために(<div>乱用とかで)HTML 側で細工が必要になる.例えば,背景に画像を 1種類しか指定できないため,1つのボックスの右上と左上に画像を固定配置することができない,とか.ので,左上に画像を持つ <div> の中に右上に画像を持つ <div> を重ねる,などの対処が必要になる.
おかしな形で問題が戻ってきてしまうのだが,幸いにも <div> は「<table> は表」みたいに固定の意味を持たない汎用ボックスなので,まぁ「div厨」なんて言葉はあっても思想的には「まだマシ」とされているわけだな.
でさっきのグリッドポジション CSS に話を戻すとだ.CSS2 への対応すら完璧でない今のブラウザ界で,充分なブラウザが CSS3 に対応するのを待ってたらもう首の後ろにプラグインするコンピュータネットワークが実用化されてしまいかねない.
なのでーですね,ここはですね,<div> が汎用ボックスタグであるみたいに,<grid> <gr> <gd> みたいな「汎用グリッドタグ」を先に実装しちゃってくれないかw <table> のデフォルトを border:none; border-collapse:collapse; にするだけだから簡単だべ?w
で,それならそれが実現されるまでの間は <table class="grid-positioning"> とかで実現しちゃってもよくね? ……とか思い始めるくらい,CSS の表現力の非力さに悩まされてるってわけですよええ.
せめて IE が Firefox と同じ CSS で動いてくれるだけでもだいぶ違うんだけどなぁ……