
CSS 3におけるテキストの自動改行と禁則処理の定義
CSS 3における自動改行と禁則処理の定義
word-breakとline-breakプロパティは、いずれもInternet Explorerがバージョン5のときに独自拡張したものだ。しかし、現在ではCSS 3の草案「Text」に採用され、標準化の作業が進められている。
ただし、最新のCSS 3の草案では、line-breakプロパティはword-breakプロパティに統合され、word-breakプロパティだけで自動改行と禁則処理の指定を行うようになっている。
統合前のword-breakプロパティで指定できる値は、Internet Explorerが独自拡張したものと同じで「normal」「keep-all」「break-all」の3つだった。
統合後は「loose」「break-strict」の2つの値が追加され、全部で5つの値を指定できるようになっている。追加された2つの値には、Internet Explorer、Safari、Chromeは未対応だ。なお、各値の定義は以下のようになっている。
normal
言語ごとのルールに従って自動改行を行う。また、日本語のテキストでは「line-break:strict」と指定したときと同じように厳密な禁則処理を行う。
loose
line-breakプロパティの統合によって追加された値。「normal」と同じ処理を行うが、日本語のテキストでは「line-break:normal」と指定したときと同じようにゆるい禁則処理を行う。
keep-all
半角スペースの位置で自動改行を行う。欧文のテキストに対して指定した場合は「normal」と同じ処理になる。日本語のテキストに対して指定すると改行が入らなくなってしまうため、アジア系の言語でも韓国語のように文中に半角スペースを含む言語で使用することが推奨されている。
break-all
任意の位置で自動改行を行うが、日本語のテキストでは「line-break:normal」と指定したときと同じようにゆるい禁則処理を行う。SafariとChromeで「break-all」と指定した場合、この定義に従って禁則処理を無効にしていると考えられる。
break-strict
line-breakプロパティの統合によって追加された値。「break-all」と同じ処理を行うが、日本語のテキストでは「line-break:strict」と指定したときと同じように厳密な禁則処理を行う。
なお、Internet Explorer 8(ベータ2)からは、策定中の規格や独自拡張のプロパティに「-ms-」をつけて記述することが推奨された。word-breakとline-breakもこうしたプロパティに該当するため、それぞれ「-ms-word-break」「-ms-line-break」と記述することになる。