现在我有一个像(在ltr中)的字符串
希伯来文(3)
当我使用dir =“rtl”或direction:rtl重定向它实际上的字符串时:
מחיראחד(3)
(实际上我刚刚进入希伯来字符(3)它自动变得像上面那样↑)
有没有办法让它像
(3)希伯来文
(使用html或css)
答案 0 :(得分:8)
您无需在另外的范围内包装括号内的文字。
相反,要修复此问题,请在结束括号后添加 RLM控制字符(‏
)。 RLM字符充当另一个希伯来语/阿拉伯字符,因此括号(它是一个弱字符)改变其方向并移动到正确的位置。
像这样:
<div>מחיר אחד(3)‏</div>
NB:如果在元素上设置属性dir="rtl"
,则甚至不需要RLM控制字符。
像这样:
<div dir="rtl">מחיר אחד(3)</div>
CODEPEN (jsFiddle down me)
这个microsoft doc解释了RLM控制字符以及其他类似的控制字符。
答案 1 :(得分:5)
(更新:谢谢你抢劫澄清你的评论)
这是一种侵入性较小的解决方案(result in jsFiddle):
<span lang="he" dir="rtl">מחיר אחד<span>(3)</span></span>
似乎最后的括号被称为标点符号,因此处理方式不同。 This article给了我一些清晰度:
...请注意,与align =“right”不同,标点符号也会重新定位...请参阅Sample RTL Document
在示例文档中,最后一个括号的相同重定位也出现在副标题“双向覆盖(BDO)”中。
*检查了最新chrome / ff / safari / ie
中的jsfiddle解决方案答案 2 :(得分:0)
其中一个解决方案是在括号
之后添加**‎**
感谢@freeworlder对于从右到左显示样式错误地显示括号中的解决方案
即使您可以使用其他字符,请点击此链接http://www.codetable.net/hex/200e