我想要獲得一個帶有內部網址的跨度,其行爲與從左到右一樣。這個跨度有一個周圍的容器,它的方向爲rtl,但我想強制這個元素的行爲從左到右。例如: http://jsfiddle.net/p6gab1zy/如何使用從右到左語言進行內聯元素
.rtl {
direction: rtl;
}
.ltr {
direction: ltr;
}
<div class="rtl">
<span class="ltr">http://www.google.com/</span>
</div>
在這個小提琴,你可以看到的是,而不是顯示爲http://www.google.com/
它顯示爲/http://www.google.com
,因爲瀏覽器把任何符號在「結束」的方式文本從右到左(即左)。如果我把這個跨度display: inline-block;
(http://jsfiddle.net/p6gab1zy/1/)
.rtl {
direction: rtl;
}
.ltr {
direction: ltr;
display:inline-block;
}
<div class="rtl">
<span class="ltr">http://www.google.com/</span>
</div>
這將解決這個問題,但不幸的是我的項目,這不是一個理想的解決方案。有沒有人有任何其他修補程序,我可以做到這一點,而不會有可能在屏幕上移動這個元素的位置?通過這個我的意思是改變顯示可以上移或下移,如果填充/邊距在元素上,所以這不是我需要的可行解決方案。
你是一個救星! –
要非常小心地使用bidi-override屬性,因爲它意味着從字面上覆蓋默認行爲,這通常是*最常見的*不是您想要的。在大多數情況下,Unicode BiDi算法足以在不需要覆蓋的情況下自動進行這些校正。例如,在這種情況下,W3C建議使用'dir'屬性而不是css規則,該規則可以修正這種情況,而無需重寫。 – mooeypoo