Takahiko Shirai Blog

記録「白井喬彦」

HTML使用上の制約

2005-04-11 12:29:34 | プログラミング
2005年4月7日のエントリー「HTML文で書いていけばよいのだ」には、「goo のエディタは単なるテキストエディタではあるが、HTML文として処理するブラウザで表示されるわけであるから、goo のエディタに対してはHTML文のつもりで書き込んでいけばよいことがわかる」、「そうであれば、テキストを書くときも、段落ではちゃんと <P> ...</P> や <DIV> ...</DIV> などとHTML文を正確に書かなければ、正しく表示されない場合があるのではないだろうか」などと書いた。

しかし、その後改めて詳しく調べてみると、必ずしもそう単純ではないことがわかった。

まず、段落を規定する2種類のタグ <P> ...</P> と <DIV> ...</DIV> について調べてみた。その結果、<P> ...</P> は goo のエディタではまったく機能しないことがわかった。goo のエディタの場合、「<P> ...</P>」と書いてもそれは自動的に「&lt;P&gt; ...&lt;/P&gt;」と書き換えられてしまうので、HTML構文のタグとして認識されない。

一方、<DIV> ...</DIV> の場合は goo のエディタでも機能する。ただし、HTML構文では <DIV> ...</DIV> は「空行なし改行」をおこなうタグであったが、goo のエディタの場合は「1行空け改行」をおこなうタグ、つまり、HTML構文における <P> ...</P> と同等の機能を果たすタグに変ってしまう。この原因は、goo のエディタでは原文に「改行」があれば、自動的に改行タグ <BR> が挿入されるようにプログラムされているからである。

従って、<DIV> ...</DIV> を繰り返して使うときは、

<DIV> ...</DIV><DIV> ...</DIV><DIV> ...</DIV>

というように書いて、原文には決して「改行」を入れないようにしなければならない。

このようにgoo のエディタでは段落タグ <DIV> ...</DIV> が使えることはわかった。使えることは使えるが、goo のエディタではタグ属性 STYLE="..."が、わずかなケースを除きほとんど機能しないため、<DIV> ...</DIV> を使ってもあまり意味がない。goo のエディタではテキスト上でそのまま改行しただけでも自動的に改行タグ <BR> が挿入されるようにプログラムされているから、改行だけのためにはわざわざ段落タグ <DIV> ...</DIV> を使う必要がないのである。

一方、文字属性を規定するときは、<DIV> ...</DIV> を使うより、<FONT> ...</FONT> を使うほうがよい。というよりも、そうしなければ他に方法はないともいえよう。そのためか、goo のエディタには「フォントボタン」が付けられており、<FONT SIZE="..." COLOR="..." STYLE="line-height:...%;"> ...</FONT> というタグを自動生成してくれる。

ただし、ALIGN="..."という属性は goo のエディタでも使える。従って、行の左寄せ、中央寄せ、右寄せをする場合には <DIV> ...</DIV> を使うべきであろう。

なお、<SPAN> ...</SPAN> も使えないらしい。goo のエディタでは <SPAN>タグが重要な働きをしている。そういう元々の環境の中で <SPAN> ...</SPAN> を使うと、 終了タグ </SPAN>がタグとして認識されない。これはあるいは goo のエディタに残るバグなのかもしれないが...。

goo のエディタの下の部分に見える「プレビュー」では、ほとんどのHTMLタグが機能するように見える。けれども、いったん投稿して goo に受信された後、そこでプログラム処理されるときに排除されてしまうタグが多い。これはgoo のエディタでHTML文を書く場合にもっとも注意を要する点であろう。

最新の画像もっと見る