8

现在我有一个字符串(在 ltr 中)

希伯来文(3)

当我使用 dir="rtl" 或 direction:rtl 重定向字符串时,它实际上是:

מחיראחד(3)

(其实我刚才输入了希伯来字符(3)就自动变成了上面的样子↑)

有没有办法让它像

(3)希伯来文

(使用 html 或 css)

4

3 回答 3

11

您不需要将括号内的文本包装在单独的跨度中。

相反,要解决此问题,请在右括号后添加一个RLM 控制字符( )。‏RLM 字符充当另一个希伯来语/阿拉伯语字符,因此括号(这是一个弱字符)改变了它的方向并移动到它的正确位置。

像这样:

<div>מחיר אחד(3)&rlm;</div>

注意:如果您dir="rtl"在元素上设置属性 - 那么即使是 RLM 控制字符也是不必要的。

像这样:

<div dir="rtl">מחיר אחד(3)</div>

CODEPEN(jsFiddle 由我)

这个微软文档解释了 RLM 控制字符以及其他类似的控制字符。

于 2013-10-01T21:49:50.993 回答
6

(更新:感谢您 rob 澄清您的评论)

这是一个侵入性较小的解决方案(导致 jsFiddle):

<span lang="he" dir="rtl">מחיר אחד<span>(3)</span></span>

似乎最后的括号被视为标点符号,因此被区别对待。这篇文章给了我一些清晰:

...请注意,与 align="right" 不同,标点符号也会重新定位...请参阅示例 RTL 文档

在示例文档中,最后一个括号的相同重定位也出现在副标题“双向覆盖 (BDO)”中。

*检查了最新的 chrome/ff/safari/ie 中的 jsfiddle 解决方案

于 2013-08-22T09:01:56.610 回答
0

解决方案之一是**&#x200e;**在括号后添加

感谢@freeworlder 为从右到左的显示样式错误显示括号的解决方案

即使您可以使用其他字符,请点击此链接http://www.codetable.net/hex/200e

于 2017-06-23T06:33:09.240 回答