回答
將unicode-bidi: embed;
添加到您的CSS。應該做的伎倆 - updated Fiddle
你可以找到使用here
爲什麼direction: ltr
不把減號多項左邊的原因是周圍的字符是從右到左的字符,使得「中性「字符如數字和減號(或連字符)採取該方向性。 direction
property影響佈局方向的方框和相關問題,而不是文字的書寫方向。
考慮以下幾點:
<p>א <label id="ProfitShk" class="labelVal">-9 ₪</label> ת
<p>a <label id="ProfitShk" class="labelVal">-9 ₪</label> b
在第一種情況,連字符顯示在數字9的右側,以下週圍文本的書寫方向。在第二種情況下,順序相反,因爲周圍的字符是拉丁字母,它們具有固有的從左到右的方向性。
這是一個棘手的問題,希伯來語中的一些頁面似乎使用了將HTML中的數字後面的連字符應用於HTML源代碼的技巧,以便在應用左對齊書寫時,連字符出現在數字的左側。
更正確的方法是:
- 使用
unicode-bidi: bidi-override
在CSS中,與direction
在一起。這意味着在內容中將忽略固有方向性,並且應用direction
指定的順序。 - 在CSS中使用
unicode-bidi: embed
以及direction
。這創建了一個「方向島」,其中周圍的文本不影響方向性。當元素內容僅包含「中性」字符時,direction
屬性設置文本方向。 - 在HTML中使用
<bdo>
元素,並使用dir
屬性。這是方法2的HTML副本,更好的是,這不是關於風格的表達性建議(這是CSS最適用和最擅長的),而是關於如何正確處理,處理方向性中的一些基本問題。 - 在字符串前後使用從左到右和從右到左的標記。它們可以分別用HTML表示爲
‎
和‏
。這使得字符串之前的最後一個字符是一個從左到右的標記,如果它只包含「中性」字符,就會從左到右顯示。
這是一個複雜問題的簡化表示。無論如何,使用<bdo>
可能是最好的方法。在所有的方法,方向性的設置應限制在儘可能小的字符串,在本例中,如-9:
<p>א <label id="ProfitShk" class="labelVal"><bdo dir="ltr">-9</bdo> ₪</label> ת
用作減號的字符確實應該Unicode的減號「 - 」 U + 2212 MINUS SIGN,在HTML中表示爲−
,但這並不影響方向性問題。
+1以獲得廣泛的答案 –
除了Henrik的回答,我會在減號前添加一個LRM控制字符,像這樣:
<label id="ProfitShk" class="labelVal">‎-9 ₪</label>
這樣減號得到9之前放置(這可能是你想要的)
這個microsoft doc解釋LRM控制字符以及其他控制字符。
- 1. BIRT RTL和LTR方向
- 2. ckeditor bidi force使用方向rtl或ltr
- 3. RTL和LTR方向使用按鈕
- 4. RTL和LTR(雙向)在UITextView
- 5. 方向(LTR/RTL):CSS方向和HTML方向屬性有什麼區別?
- 6. 如何強制一段文字'方向ltr'在'方向rtl'段
- 7. 開源cms ltr rtl?
- 8. html語言的方向? (如果英文dir = ltr,如果阿拉伯文dir = rtl)
- 9. 在一個textarea,當前行的方向上從「RTL」變爲「LTR」
- 10. 如何將導航條目的方向從ltr更改爲rtl?
- 11. rtl和ltr方向的多語言站點
- 12. 如何從RTL的水平效果改變方向爲LTR
- 13. iOS9強制LTR UINavigationController RTL語言的推送方向
- 14. HTML方向rtl問題
- 15. 如何自動更改站點方向LTR \ RTL?
- 16. 有沒有辦法獲得語言方向(RTL/LTR)?
- 17. Android:檢測軟鍵盤RTL Vs LTR(語言方向)
- 18. 在wysiwyg上飛行改變文本方向(ltr和rtl)
- 19. 從RTL設置Word.Selection LTR
- 20. JSP國際化RTL/LTR
- 21. 管理爲LTR和RTL
- 22. LTR到RTL轉換器
- 23. 在WP中改變單個帖子標題的文本方向(rtl到ltr)
- 24. 在Android中切換RTL和LTR
- 25. html元素的「dir」屬性(rtl/ltr)的數據綁定
- 26. 從ltr到rtl的設計自動
- 27. 如何檢測當前網頁或元素的方向(rtl/ltr)或JavaScript中的任何其他屬性?
- 28. 在正確的方向上同時打印阿拉伯語(RTL)和英語(LTR)
- 29. 獲取確切的瀏覽器呈現文本(RTL和LTR方向混合)
- 30. DIV RTL方向,看到水平滾動頁面的FF
謝謝,我想我知道一切在CSS ......--) – devmonster
不客氣。有幾個屬性,你不會經常使用:) –
jsfiddle代碼將'direction'設置爲'rtl'。我想你的意思是寫'ltr'。 –