CSS プロパティ direction

CSS プロパティ direction:テキストの方向を制御する

CSS プロパティ direction:テキストの方向を制御する

direction プロパティは、テキストの並び方向を設定するために使用される重要な CSS プロパティです。テキストを左から右 (ltr) に表示するか、右から左 (rtl) に表示するかを決定します。これは、複数の言語や書記体系をサポートするウェブページにとって非常に重要です。

1. プロパティ値の詳細

  • ltr: テキストは左から右に配置されます。英語、フランス語などが該当します。
  • rtl: テキストは右から左に配置されます。アラビア語、ヘブライ語などが該当します。

2. 適用可能な要素

direction プロパティは、テキストを表示するすべての HTML 要素に適用できます。

3. direction と unicode-bidi の関係

direction プロパティは、双方向テキストの表示をより細かく制御するために、unicode-bidi プロパティと組み合わせて使用されることがよくあります。 unicode-bidi プロパティを使用すると、周囲のテキストの配置に影響を与えることなく、異なる方向性を持つテキストのセグメントを埋め込むことができます。


<p dir="ltr">This is an example of <bdi dir="rtl">Arabic text</bdi> embedded within an English sentence.</p>

上記の例では、アラビア語のテキストは英語の文の中に埋め込まれていますが、unicode-bidi プロパティを使用することで、アラビア語のテキストは正しく右から左に表示されます。

4. 継承性

direction プロパティは継承可能です。つまり、要素に direction プロパティが明示的に設定されていない場合、親要素の direction 値を継承します。

5. ブラウザの互換性

direction プロパティは、すべての主要なモダンブラウザでサポートされているため、優れたブラウザ互換性を備えています。

ブラウザ バージョン サポート
Chrome すべて
Firefox すべて
Safari すべて
Edge すべて
Internet Explorer 5.5 以上

6. 使用シナリオ

  • 多言語ウェブサイト: 複数の言語のコンテンツを含むウェブサイトの場合、direction プロパティを使用すると、各言語のテキストが正しい方向に確実に表示されます。
  • RTL 言語のサポート: アラビア語、ヘブライ語など、右から左に記述する言語をウェブサイトでサポートする必要がある場合は、direction プロパティを使用してテキストを正しく表示する必要があります。
  • テキスト方向の制御: 特定のテキストの段落の表示方向を変更する必要がある場合があります。たとえば、コードサンプル内や、特定のデザイン効果を実現する場合などです。

7. まとめ

direction プロパティは、テキストの表示方向を制御するための重要な CSS プロパティであり、多言語のサポートとユーザーエクスペリエンスの向上に不可欠です。

よくある質問

  1. Q: direction プロパティと writing-mode プロパティの違いは何ですか?
    A: direction プロパティはテキストの並び方向を制御し、writing-mode プロパティはテキストの行の方向を制御します。direction プロパティは水平方向のテキストにのみ影響しますが、writing-mode プロパティは垂直方向のテキストにも影響します。
    https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode
  2. Q: direction プロパティを要素に設定しても、テキストの方向が変わっていないのはなぜですか?
    A: 考えられる原因はいくつかあります。
    • 要素にテキストが含まれていない。
    • 要素のスタイルが、より具体的なセレクタによって上書きされている。
    • unicode-bidi プロパティが、direction プロパティの効果を無効にしている。
  3. Q: 特定のテキストのセグメントの方向を変更するにはどうすればよいですか?
    A: <bdi> 要素または <span> 要素を使用して、テキストのセグメントを囲み、その要素に direction プロパティを設定します。