'dir' が RTL として指定された複数のスパン テキスト要素 (2 つ以上) があるとします。
<div dir="rtl">
<span>First-Element</span>
<span>Second-Element</span>
<span>Third-Element</span>
</div>
右から左に順番に表示されるようにします。
Third-Element Second-Element First-Element
これは、テキスト要素に RTL 方向性 (アラビア語、ペルシア語、ヘブライ語などのテキスト) がある場合、または RTL 要素がインターリーブされている場合にうまく機能します。
<div dir="rtl">
<span>First-Element-RTL</span>
<span>Second-Element-RTL</span>
<span>Third Element-RTL</span>
</div>
また:
<div dir="rtl">
<span>First-Element-LTR</span>
<span>Second-Element-RTL</span>
<span>Third Element-LTR</span>
</div>
しかし、すべての要素が LTR 方向性である場合、言語の順序が使用され、望ましくない順序が得られます。
First-Element Second-Element Third-Element
要素内のテキストの方向性に関係なく、要素の固定順序をどのように達成できますか。つまり、技術 (html か css か) は、個々のテキスト要素の言語に無関心でなければなりません。
この問題は、span 要素のコンテンツが可変であり、ユーザーによって提供される場合に発生します。たとえば、ユーザー名が RTL 言語または英語である可能性があります。
編集
ここで強調しなければならないのは、ここで話しているのはテキスト スパンを相互に相対的に並べることであり、テキスト自体の流れを変えることではないため、'English Text' は 'txeT hsilgnE' としてではなく、そのまま表示する必要があるということです。
編集
これは、Jukka が提供する回答をテストするための単純な HTML セグメントです。これは、右揃えの 'bar foo' として表示されます。{ unicode-bidi: bidi-override; }
コンテナレベルで目的の結果を得る必要がないことを(少なくとも私のブラウザでは)示しています。
<html>
<head>
<style type="text/css">
span { unicode-bidi: embed; }
</style>
</head>
<body>
<div dir="rtl">
<span>foo</span>
<span>bar</span>
</div>
</body>
</html>