日記書いたりメモ書いたり
まうんとらんオンラインの改修をしていると,くそったれテーブルレイアウトをまともなXHTML+CSSなページに書き換える大変さがよくわかる。なぜなら,元のレイアウトをあまり変えないようにすると,どうしてもfloat
を使う必要が出てくるからだ。はっきり言って,float
は今の俺には使いこなせない。まったく,float
の練習にはなるが,改修作業がさっぱり進まない。
float
だけで済んでるときはまだいいが,XHTMLの仕様の欠点が問題になるときはもっと厄介だ。
こうなると,レイアウトを大幅に変更するか,XHTMLの構造を変更しなければならない。特に困るのが,dl要素の中に,対応するdt,dd要素が複数存在する場合だ。対応するdt,dd要素は,レイアウトする際は一塊のブロックとして扱いたい。また,自分のポリシーでは,木構造を明示することにしているから,木構造を表せていないことはポリシーに反してしまう。XHTML2.0では,di
要素という,正に今求めている要素があるが,未だにWorking Draftで勧告されていない。それに,勧告されても,UAが実装するまで時間がかかるからすぐには使えない。
そこで,妥協策としてはXHTML2.0 におけるdl
要素とdi
要素を,それぞれdiv
要素(class="dl"
とかするといいかも)とdl
要素として表すやり方がある。ただ,このやり方は意味的に正しいのか微妙な気がする。なぜなら,dl要素は「定義リスト」だからだ。つまり,リストの内容を別々に一個ずつリストとしてマークアップするのは,意味的におかしいということだ。
さて,どうするべきか。ちょっと調べてみよう。この問題は何年も前から言われてると思うから,少しぐらいは何か見つかるかな?
この文章は,全部携帯電話で打った。疲れた。