preタグについて

[統計] HTMLからXHTMLへの移行を進めていますか?



0   名前: とん : 2006/05/18(木) 02:55  ID:wMkSE4Rb
まったくの素人な質問ですが教えて下さい。
preタグというのは段落、スペース等書いたそのままが表示されると
説明に書いていました。
これを使えばbrだったりpだったりほとんどタグを使わなくてもホームページやサイト
って作れるんじゃないのでしょうか?それともやはりpreでは不都合な点や無理な事が
たくさんあるのでしょうか?よろしくお願い致します。

1   名前: Z ◆XTzyosZXcL : 2006/05/18(木) 02:55  ID:qaS7ArIg
 PRE要素は、その要素内での改行が意味をもつ場合、例えば定型詩・俳句・和歌などの文芸作品をイメージして頂ければつかいどころが分かりやすいと思います。
 他の要素を含めることができないため、例えばその文章のなかでハイパーリンクをさせたいと思っても出来ませんし、当然図・動画などのオブジェクトも含めることが出来ません。

 HTMLマークアップの原則は文書の構造化であり,そのメリットの一つは機械処理のしやすさにあるわけですから、そう考えるとPRE要素はまず普通は使われないし、他の適当な要素でマークアップを行うべきです。
#ある法律でHTML形式のデータ提出にPRE要素でマークアップをさせているものがありましたが、データ提出させる意義から考えればナンセンスといえるでしょう。

仕様書の説明部分)
http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/text.html#h-9.3.4
http://www.w3.org/TR/html401/struct/text.html#h-9.3.4

参考)
http://members.jcom.home.ne.jp/jintrick/Personal/markup.html
http://web.xii.jp/iec/html/
http://members.jcom.home.ne.jp/pctips/www/html3min.html

余談)
http://web.xii.jp/iec/note/checker
http://members.jcom.home.ne.jp/pctips/www/knowledge/Standard.html

2   名前: Z ◆XTzyosZXcL : 2006/05/18(木) 02:55  ID:qaS7ArIg
 あ、いきなり仕様書は大変でしょうから一応読み方の解説もあわせてご紹介(^^;

参考)
http://www.kanzaki.com/works/2001/pub/wsd01.html

 ちなみに、見かけを紙文書と同じ文字数・行数にしたいがためにPRE要素でマークアップしている例が行政サイトなどであったりますが、あれもHTMLマークアップ原則からすればナンセンスです(ただの文章ならp要素で十分で、強制改行は出来るだけ避けるべき)。

3   名前: Z ◆XTzyosZXcL : 2006/05/18(木) 02:55  ID:qaS7ArIg
 ごめんなさい、訂正です。
 PRE要素内でもa要素やフレーズ要素は使えました。ただ、IMG, OBJECT, BIG, SMALL, SUB, SUPといったオブジェクトや物理要素は内包できません。

 でも基本原則からすればやはり無闇に使うものではないでしょう。>PRE要素
#仕様書上は組み込みイベントも使えるので、PRE要素+JavaScriptで何かさせることは可能なようです。

4   名前: Pid ◆byEkK9OALr : 2006/05/18(木) 02:55
>>0
> スペース等書いたそのままが表示される

というのがお望みならば,スタイルシートで white-space: pre を指定すれば良いだけの話です。どんな「タグ」かは全く無関係です。


pre 要素というのは,>>1 で述べられているように,定型詩やプログラムソースなど,「改行・空白そのものが構造を表す」場合に用いるものです。

<pre>
春の蛾は
ひとりで水を叩きつけて
        飛び立つ
      飛び立つ
  飛び立つ
もういま杉の茶いろな房と
不定形な雲の間を航行する

(宮沢賢治)
</pre>



> それともやはりpreでは不都合な点や無理な事がたくさんあるのでしょうか?

実際にやってみれば実感できると思いますが,非常に利用しづらいページになります。

タグというのは,文書構造(どこからどこまでが見出し・段落なのか)を機械(ブラウザや検索ロボット等)に教えるためのものであって,「どんな見た目・効果になるか」というのは,タグとは全く関係ありません(そういうのは,スタイルシートやスクリプトの役割です)。

一覧へ戻る