PR
用途 Unicodeで提供する情報の表記方向を決める
ltr | rtl | inherit
対象となる要素 すべて
解説

日本語や英語といった言語は左から右の方向でレンダリングされます。ところが世界にはヘブライ語やアラビア語のように、右から左の方向で組む言語もあります。'direction'は、そのような言語を正しく組むためのプロパティです。ウェブブラウザの場合、使用言語にヘブライ語など右から左の組み方向を使う言語が指定してある場合はあらかじめ組み方向を言語に最適化します。よって、CSS側で組みの方向を指定する必要はありません。しかしながら、ベースは英語でも部分的にヘブライ語が挿入されるような文書では、'direction'を使ってUnicodeの組みの方向を上書き、変換する必要があります。また、XML文書のように情報の内容以外はすべてCSSなどの外的手段で指定しなければならないドキュメントでは、文字組の方向指定の責任がスタイルシート側にかかってくるケースも想定できます。

スタイルの例

.reverse {direction: rtl; unicode-bidi: bidi-override; font-size:2em; color:#666666;}
.normal {direction: ltr; unicode-bidi: embed; font-size:2em; color:#666666;}

サンプルページの表示(別ウィンドウ)

値の表記について

  1. CSS2のプロパティは解説の中で<color>など単位の表記と混同することを避ける目的でSingle Quotation(')で囲っています。
  2. Box bracket [ ] は、各プロパティに指定可能な値をグループ化しています。
  3. Bar | は各プロパティに指定可能な値を区切っています。
  4. 2重のBar || は各プロパティに指定可能な値のグループ、または個別の特性を持つプロパティを区切っています。
  5. inheritは親要素のプロパティが継承できる種類であることを意味します。
  6. <length>や<color>、<percentage>などAngle brackets < > で囲ったものは、それぞれ単位を採用できる値です。
  7. <margin-width>{1,4}のように単位がBraces { }で囲った整数を伴う場合は、その数だけ単位の指定が可能です。例の場合は単位を上、下、左、右のように1つ以上、4つ以下で単位を複数指定できる、という意味になります。
  8. <length>? のように単位が疑問符を伴う場合は、単位を0または1つだけ指定できる、という意味になります。
  9. [<uri> ,]* のように単位がAsteriskを伴う場合は、単位を0以上指定できます。つまり指定しなくても良い、または必要あれば可能な限り指定できるという意味です。
  10. [ <identifier> <integer>? ]+ のように単位(のグループ)がPlus + を伴う場合は、単位を必要あれば可能な限り指定できるという意味です。例の場合は識別子と整数(1つだけ)のセットを必要なだけ指定できる、となります。