4

英語とペルシア語の2つの言語で表示されるWebサイトがあります。リストアイテムのタイトルは、両方の言語で同時に混合することができます。ここまでは、テキストのみがあればdirection:rtl、cssで使用しても問題ありません。

しかし、キャッチは、タイトルの内側または最後に番号を付けることもできるということです(これは、ペルシア語では英語と同じように書かれ、読まれます-左から右へ)。その番号をどこに置いても、タイトルの単語の順序が混乱するため、これは問題になります(番号はタイトルの最後にある広告IDです)。

この問題を解決するために、私はIDの前で使用&rlmします&lrmが、問題は、選択した言語に応じてこの2つを切り替える必要があることです。

番号の問題がある双方向テキスト

私の正しいhtmlは次のとおりです(これ‏がペルシア語のID番号の問題を修正するものです):

<h3>
   The name of my خدمات باشد is long
   <span style="color:#999;">&rlm;#89798798</span>
</h3> 

JS FIDDLE: http: //jsfiddle.net/WzF2D/

IDをラップアラウンドするスパンを設定direction:ltrしてみましたが、それでも機能しません。私も使っunicode-bidi:embedてみましたh3が、行きませんでした。

依存せずにcssのみを使用してこれを解決するにはどうすればよい&rlm;ですか?

4

1 に答える 1

4

テキスト(少なくとも例では)が主に英語であり、文の中にアラビア文字の単語が含まれている場合でも、目的のレンダリングでは全体的に右から左への書き込みが使用されると想定します。さらに、「#89798798」のような表現は個別のフラグメントとして扱われると想定しているため、英語の単語の後に表示される場合、RTLレイアウトでは、英語のテキストの一部とは見なされず、その左側に設定されます。

これらの(かなり驚くべき)前提の下で、CSSソリューションは、そのようなフラグメントを双方向性の分離にすることです。

<span style="color:#999; unicode-bidi: embed">#89798798</span>
于 2012-08-02T15:08:04.780 に答える