现在我有一个字符串(在 ltr 中)
希伯来文(3)
当我使用 dir="rtl" 或 direction:rtl 重定向字符串时,它实际上是:
מחיראחד(3)
(其实我刚才输入了希伯来字符(3)就自动变成了上面的样子↑)
有没有办法让它像
(3)希伯来文
(使用 html 或 css)
现在我有一个字符串(在 ltr 中)
希伯来文(3)
当我使用 dir="rtl" 或 direction:rtl 重定向字符串时,它实际上是:
מחיראחד(3)
(其实我刚才输入了希伯来字符(3)就自动变成了上面的样子↑)
有没有办法让它像
(3)希伯来文
(使用 html 或 css)
您不需要将括号内的文本包装在单独的跨度中。
相反,要解决此问题,请在右括号后添加一个RLM 控制字符( )。‏
RLM 字符充当另一个希伯来语/阿拉伯语字符,因此括号(这是一个弱字符)改变了它的方向并移动到它的正确位置。
像这样:
<div>מחיר אחד(3)‏</div>
注意:如果您dir="rtl"
在元素上设置属性 - 那么即使是 RLM 控制字符也是不必要的。
像这样:
<div dir="rtl">מחיר אחד(3)</div>
CODEPEN(jsFiddle 由我)
这个微软文档解释了 RLM 控制字符以及其他类似的控制字符。
(更新:感谢您 rob 澄清您的评论)
这是一个侵入性较小的解决方案(导致 jsFiddle):
<span lang="he" dir="rtl">מחיר אחד<span>(3)</span></span>
似乎最后的括号被视为标点符号,因此被区别对待。这篇文章给了我一些清晰:
...请注意,与 align="right" 不同,标点符号也会重新定位...请参阅示例 RTL 文档
在示例文档中,最后一个括号的相同重定位也出现在副标题“双向覆盖 (BDO)”中。
*检查了最新的 chrome/ff/safari/ie 中的 jsfiddle 解决方案
解决方案之一是**‎**
在括号后添加
感谢@freeworlder 为从右到左的显示样式错误显示括号的解决方案
即使您可以使用其他字符,请点击此链接http://www.codetable.net/hex/200e