Page Top

XHTMLとHTMLの違い (JP)

April 07, 2006

最近HTML 4.01でコーディングするものがあったのですが、 つい日頃の習慣でXHTMLで作っていたまぬけな私なのですが、 一見殆ど変わりが無いように見えるHTML 4.01とXHTMLですが、IEで見るときだけ、微妙な違いが出てきます。

例えば、リストを使って、そのリストの背景にアイコン画像などをつけるとします。 FirefoxやNNやOpera、MacでもFirefox、Safari、Operaなどで見ますが、XHTMLからHTMLに変更しても、 殆ど変化は見れないのですが、このリストのバックグランドにつけたアイコンだけ高さが・・・ 一箇所だけ微妙に違うんですね。こういう時はline-height:などを指定するとうまくいったりするのですが、 今回はうまく行かずで。。でも、同じようなことをしているほかのページはOKだったりするので、余計不可解です。

どうもBackground:で指定する高さのプロパティが他のものと違うようで、上方位置になってしまいます。 MacIEだけならCSSHack~などで対処できると思いますが、WinIEも同じ具合なので、 JavaScriptで、IEを見つけたらこっちのスタイルシート読む、ことにして無事対応出来ました。

そして、ふとしたきっかけで色々調べてたらわかったのですが、 HTMLでだったら使えていたJSのdocument.writeってXHTMLでは使えないんですね。 そこはやはりXMLの家系なんだな、と感じさせられます。 同じ事をするのに、DOMというNODEのツリーを使って表さなくてはならないみたいで、 HTMLのJSで一行で書ける事がXHTMLのJSだと十数行みたいなことになっていて、ちょっと複雑です。

と言う事で、やっぱりXHTMLってHTMLとは違うんですね。改めて違いを認識しました。

最新記事