SSブログ

改行にbr要素を使ってはいけない [Webサイト構築]

 HTMLのbr要素は、段落内の改行意味するタグである。これを通常の改行コードとして使いたがる傾向がある。そもそも、ある種のアプリケーションは、HTMLタイプでファイルを保存すると、改行位置を全部br要素にして書き出したりする。そういうソフトは使わない方がいいのだが、このように市販のソフトでも、対処療法的な処理をするのだから、普通に人が自分でHTMLを書くとき、自分のイメージの中での改行にbrタグを使うというのも仕方がないのかもしれない。

 しかし、このタグの元々の意味は、一つの段落の中で改行が必要なときに使用するものであり、これがあっても段落が変わらないことが前提になる。しかし、そういう必要性は、滅多なことではないのではないか。

 一つ考えられるのは、たとえば、一つの段落を作るh1要素の中で、一行のタイトルとしては長すぎ、しかもタイトルなので、意味上適切な位置で改行を入れたい(そうでないと、ウィンドウサイズで改行が起こってしまう。)ような場合に、brを使って意図的にタイトルを改行する場合だ。この場合、h1タグを二つ使うのは適切ではない。なぜならば、一つのタイトルというまとまった単位は、一つのh1要素の中に入れて置くべきであり、しかもそれを途中で改行したいとすれば、段落内改行としてのbrタグを使わなければならない。

 しかし、ワープロで普通に改行を入れて段落を変えるような場合には、一つの段落はp要素で囲むべきである。それがブラウザーでどのように見えようが、そうすべきである。ブラウザーの見え方では、そういう段落の間は、少し隙間が空くようになっている。これが場合によっては不要なことがある。そういう場合には、CSSを使い、段落間の開きをなくせばよい。

 箇条書きでいくつかの項目を並べたいならば、それらをbrタグで区切るのではなく、きちんとol要素かul要素で箇条書きにすべきである。その各項目の間の開き具合は、これまたCSSで定義すればよい。広くも狭くもできる。

 そもそも、CSSによるデザインの指定は、通常のHTMLのタグで予め設定されているものよりも遙かに柔軟で、豊かな表現力を持っている。つまり、HTMLのタグの見え方に関しては、CSSを使うことでフルに定義できるのである。したがって、HTMLのデザインを、現状のタグの表示のされ方に基づいて、小手先の変更で対処するのではなく、HTML本文中にはデザイン的な要素は極力書かないようにし、それらをできるだけCSSで設定するように心がけなければならない。


nice!(0)  コメント(6)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 6

NO NAME

いちいち文章のまとまりをpタグでくくるのは大変生産性が落ちます。

「使ってはいけない」とか「べきである」とか貴方の主観を押し付けないように。
by NO NAME (2009-03-05 20:32) 

yfukuda

HTMLは機械が認識するための言語であり、その文法を守ってかくならば、段落はpタグでマークアップするのが正しい用法です。

もし効率が悪いということで、人間の言語の文法を無視したことをしゃべったら、他の人に理解してもらうことはできなくなってしまうでしょう。
by yfukuda (2009-03-05 20:53) 

みかん

ハイパーテキスト【マークアップ】ランゲージとして、
見た目にしか効果の無いbrタグは、使ってはいけないと思います。
マークアップにはならないので。

しかし、今のCSSで、文章を読みやすいように、
。や、で改行する設定が出来ないので、
(出来ないよね?w)
まだまだ進化してほしいところですね。
by みかん (2010-04-13 18:54) 

みかん

CSSで
white-space:pre;
がありましたw

これでbrタグは使わなくても可能ですねv
by みかん (2010-04-13 20:58) 

yfukuda

みかんさん
コメントありがとう。
確かにbrタグが必要な場合を考えるの難しいですね。
でも段落内改行が論理的にあり得ないかというと、そうは断言できないような気がします。具体的にはすぐには思いつきませんが。

一つ可能性があるのは、詩のような場合。詩の一行一行は、段落ではありません。考え方としては段落内改行になるのではないかと思います。
by yfukuda (2010-04-14 00:33) 

みかん

それは、タグで表示を整えるのではなくて、
styleのwhite-space:preをすると、
brタグを使わなくても、
改行はそのまま改行で表示されるので、
brは使わなくても可能です。

<p style="white-space:pre">
ああああ
ああああ
ああああ
</p>
こうすると、brを書かなくても改行されて表示されます。

よくあることですけど、IEではこのままでは動きませんが><
by みかん (2010-04-14 10:10) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。