white-spaceプロパティ。

CSSに於ける空白文字の取扱い方法・white-spaceプロパティに関する解説です。

white-spaceプロパティとは。

white-spaceプロパティは、空白文字の取扱い方法です。

通常、HTML文書やXML文書では、連続する空白文字は一つにまとめます。

空白文字には水平タブや改行も含まれるため、当然これらの文字の効果はない事となります。

しかし、<pre>要素などのように、この扱いが好ましくない要素もあり、そう言った要素に対しては、white-spaceプロパティを変更する事で対応出来るようになります。

white-spaceプロパティの扱い。

white-spaceプロパティの書式。

white-spaceプロパティの書式は、以下のようになります。

white-space:

値としては、以下のものが取れます。

inherit
一番近い上位要素で指定された値を継承します。
normal
white-spaceプロパティのデフォルト値です。
  • 連続する空白文字(水平タブ・改行などを含む)を一つに纏め、
  • 行内が一杯になった場合に折返しを行う

ものとします。

尚、出力内容として改行コード("\A")が出される場合(HTMLで言えば<br>要素など)にも改行する事が出来ます。

nowrap
  • 連続する空白文字(水平タブ・改行などを含む)を一つに纏めますが、
  • 行内が一杯になっても折返しを行わない

ものとします。

尚、出力内容として改行コード("\A")が出される場合(HTMLで言えば<br>要素など)には改行する事が出来ます。

pre
HTMLで言えば<pre>要素でのスタイルとなります。

連続する空白文字(水平タブ・改行などを含む)をそのまま反映させます。

テキストの改行コードや出力内容としての改行コード("\A")が出される場合(HTMLで言えば<br>要素など)に改行する事が出来ます。

また、以下の値が現在策定中のCSS第二水準第一改訂版(CSS 2.1)追加される予定になっております。

pre-wrap
preと同様、連続する空白文字(水平タブ・改行などを含む)をそのまま反映させますが、テキストの改行コードや出力内容としての改行コードが出される場合の改行に加えて、行端に達した場合の折返しも行われます。
pre-line
連続する空白文字(水平タブなどを含む)を一つに纏め、テキストの改行コードや出力内容としての改行コードが出される場合の改行に加えて、行端に達した場合の折返しも行われます。

white-spaceプロパティの記述例。

例えば、HTMLの<p>要素において、行端に達しても折返しを行わない場合は、

p {
    white-space: nowrap;
    }

と記述します。

white-spaceプロパティに関する注意事項。

white-spaceプロパティの仕様上の注意。

white-spaceプロパティは実装しなくても構いません。

仕様では、white-spaceプロパティは無視しても構わない事とされております。

  • 但し、視覚系ユーザエージェントのデフォルトスタイルとしては何らかの値を設定する必要があります。

また、nowrapを実装する場合、折返ししないようにするためにどうするべきかも規定されておりません。

  • PCのウェブブラウザでは、大抵nowrapを与えられた場合は横スクロールを発生させておりますが、オープンウェーヴ社のWAP 2.0ウェブブラウザではnowrapを与えられた場合は文字をマーキーさせる事で折返しの無い表示を実現しております。

white-spaceプロパティの実装上の注意。

ネットスケープ 4.xでの注意事項。

ネットスケープ 4.xには、nowrapは実装されておりません。

また、<pre>要素にスタイルを適用した場合に、white-spaceプロパティ値が勝手に書き換えられてしまう事があるので、そのような場合には改めてwhite-space: pre;プロパティを与えておく必要があります。

WAP 2.0での注意事項。

WAP 2.0でもword-spacingプロパティは必須ですが、オープンウェーヴ社のWAP 2.0 ウェブブラウザにはnowrapのみが実装されております。


しらぎくのウェブサイト作成入門サイトマップ