テキスト

 
  
ホーム > HTML Note > HTMLの概要 > テキスト

空白文字 (white space)

HTMLの空白文字は、半角スペース[ ]、タブ[	]、フォームフィードFF[]、ゼロ幅スペース[​]をあらわします。改行文字もまた空白文字です。

すべてのHTML要素にとって空白文字は「語」を分離するものです(語とは空白文字を含まない文字列です)。ソース文中で語間に空白文字が連続している場合、それらは1つの半角スペースに変換されて表示されます。ただし、pre要素においては空白文字は、ありのまま表示されます。

改行は、UNIX改行文字キャリッジリターンCR[
][\r]、Mac改行文字ラインフィードLF[
][\n]、Windows改行文字キャリッジリターン+ラインフィードCR+LF[
][\r\n]、フォームフィードは改ページ文字FF[][\f]をあらわします。

意味10進16進綴りコード
半角スペース3220space
タブ99tab\t
改ページ文字
フォームフィードFF
(書式送り)
12Cform feed\f
ゼロ幅スペース8203200Bzero-width space
UNIX改行文字
キャリッジリターンCR
(復帰)
13Dcarrige return\r
MAC改行文字
ラインフィードLF
(行送り)
10Alinefeed\n

SGMLは、開始タグ直後の空白文字および終了タグ直前の空白文字は共に無視すべきであると定めています。これは全HTML要素に対して例外なく適用されます。

他にも半角フォントサイズのスペース[U+2002][&#ensp;]や全角フォントサイズのスペース[U+2003][&#emsp;]、日本語などに使用される全角スペース[U+3000](表意空白: ideographic space)などの空白文字に似た文字が存在しますが、これらは決して空白文字の一種ではありません。
 

改行の制御

開始タグ直後の空白文字および終了タグ直前の空白文字は例外なく無視されます。
次の2つのHTMLの例は、まったく同じようにレンダリングされる必要があります。

<p>夢はまだ終わっていない。</p>

<p>
夢はまだ終わっていない。
</p>
次の2例も同様にレンダリングされる必要があります。

<a>わたしみたいな馬鹿</a>

<a>
わたしみたいな馬鹿
</a>
 

改行禁止の半角スペース (&nbsp;)

アルファベットのような用字形において、文書作成者は、2つの単語の間で改行が生じるのを避けたいと考えることもあるでしょう。文字参照[&nbsp;][&#160;][&#xA0;]は、no-break speceの略で、改行を発生させない半角スペース[ ]として機能します。
 

ハイフンづけ

HTMLには、プレーンハイフンとソフトハイフンの、2種類のハイフンがあります。ブラウザはプレーンハイフンをアルファベット[a-zA-Z]のように解釈し、そこに改行は生じません。ソフトハイフンには改行が生じ得ます。ソフトハイフンを解釈するブラウザには、前の行の終端にハイフン文字が表示され、解釈しないブラウザにはハイフン文字は現れません。プレーンハイフンは[-][&#45;][&#x2D;]であらわされ、ソフトハイフンは[&shy;][&#173;][&#xAD;]であらわされます。

IE-IE7はプレーンハイフン[-]を解釈せず、ソフトハイフン[&shy;]を解釈します。よって、2つの場合において共に改行が生じます。N-N7はプレーンハイフン[-]を解釈し、ソフトハイフン[&shy;]を無視します。よって、2つの場合において共に改行は生じません。
 
関連項目:
トップページ HTML Note ページトップ
 2003/08/02発行 2008/01/01更新