2008-02-23

向上心はいまだ尽きず、ありがたやありがたや

 とりあえず落書き。  p elementの中には、block-level elementを入れられない。なぜだろう。理由が仕様には書いていないし、ググッってもどうも分からないのだが、たぶん下位互換性のためなのではないだろうかと思う。というのも、昔は、終了タグを省略するのが普通だったらしいのだ。どうやって終了位置を判断するかというと、p要素の中に、別のp要素を発見すると、ネストされるのではなく、前のp要素の終了を意味していたらしい。こういう経緯から、p要素がブロック要素をネストできないのではあるまいか。もちろん、その時代には、ブロック要素などという用語はないけれど。  つまり、いままで私はこのブログで、div要素を使っていたが、それは規格違反ということだ。なぜならば、bloggerが、記事ごとにp要素で囲んでいるからだ。すると、こんどからは、span要素を使わなければならない。でも、このBlogger、なぜかblockquote要素を挿入する便利機能がある。おいおい、それはブロックレベル要素だろうが。  この制限、やたらと面倒だ。いっそのこと、すべてdivでやったほうが楽だ。そもそも、この規格を守っているサイトって、どのくらいあるのだろう。  理想主義者の私としては、objectタグで画像を表示したい。しかしどうも、IE7が腐っている。 http://www.robinlionheart.com/stds/html4/objects.html  IEだけ、なぜか、paddingかなにかが付加されるようだ。結果としてスクロールバーが表示される。しかも最悪なことに、回避策がない。属性を指定しても、CSSを使っても、この不思議な挙動は取り除くことができない。IE8では改善されるのだろうか。  なんだかXHTML strictで書く自信を失いつつある。  ところで、XHTMLのエディタだけれど、いまはMicrosoft Visual Web Developerを使っている。  まず、エディタとしての基本機能から見ていくと、unicodeにはもちろん対応している。検索や置換も、正規表現が使える。フォントや色も変更可能と、エディタとしての一通りの機能はある。  XHTMLのエディタとしてみると、キーワードが色づけされるし、規格準拠かどうかの確認もできる。また、要素や属性の補完機能もある。しかもすばらしいことに、p要素のなかでは、ブロックレベル要素の補完ができない。これを使えば、だいぶ規格準拠のコードが書けそうだ。  他には、CSSやJavaScriptなども編集できる。  また、既存のファイルシステムの上や、HTTP上、FTP上にプロジェクトを構成することができ、さらに、これらを相互にコピーすることもできる。

3 comments:

齊藤 said...

ツッコミを入れるべきはblockquote要素というよりpタグの使い方だと思う。そもそもpは段落を意味するものなわけで、記事全体をひとつの段落とみなすのはずいぶんと乱暴なやりかたではなかろうか。

hito said...

どの要素が何を包括できるのか気になったので、さっきDTDの読み方を学んでいたのですが、blockquoteはブロックレベル要素しか入れられないようですね。

なんだか規格準拠のコードを書くのが、絶望的になってきました。

齊藤 said...

一般的にはblockquoteの直下はp要素で段落分けするのが普通の模様。