2016-08-12 107 views
2

這裏是我的HTML結構:變化方向

div{ 
 
    direction: rtl; 
 
} 
 

 
span{ 
 
    direction: ltr; 
 
}
<div> 
 
    <span>امروز -2</span> 
 
    </div>

這是意料之中的結果:

enter image description here

正如你看,-標誌應該在數字的開頭。我怎樣才能做到這一點?

備註:方向div應該是rtl


編輯:我生成這個數字是這樣的:

$sums_value = sprintf("%+d",$sums_value); 

/* 
sums_value = -2 //=> -2 
sums_value = 2 //=> +2 

所以數量有正確的格式,但我不知道爲什麼它會在輸出被打破:

enter image description here

+0

它可能將'-2'當作一件物品,所以它不會倒轉它。只需在標記中寫入數字即可。 – Carcigenicate

+0

我知道這可能很痛苦,但是沒有理由可以簡單地將它寫入ltr格式嗎? (是動態內容嗎?) – DBS

+0

@Carcigenicate這個數字通常寫在標記中。正如你看到它在檢查元素框中是'-5'。但我不知道爲什麼它會在像'5 -'這樣的網站上反過來...... –

回答

2

因爲你的截圖有 「-2」 在不同的span元素,你可以是特定跨度unicode-bidi選項:

div{ 
 
    direction: rtl; 
 
} 
 

 
span{ 
 
    direction: ltr; 
 
    unicode-bidi: bidi-override; 
 
}
<div> 
 
    امروز 
 
    <span>-2</span> 
 
</div>

unicode-bidi的基本思想是能夠更改在同一頁面上有多種語言的文本的方向性的默認行爲。

由於您使用的是RTL語言,並且希望-2出現在LTRunicode-bidi: bidi-override是非常方便的。

+0

優秀.. upvote ...你知道,我從未見過'unicode-bidi'到目前爲止..很好玩..! –

+0

還在那裏添加了一些解釋,以便更好地理解。 – Dekel