Html 浏览器在字段开头呈现从右向左(rtl)css字段的最后一个逗号

Html 浏览器在字段开头呈现从右向左(rtl)css字段的最后一个逗号,html,css,google-chrome,right-to-left,Html,Css,Google Chrome,Right To Left,HTML <div style='direction:rtl;'>foo,</div> <div style='direction:rtl;'>fie, fum</div> foo, 呸,呸 令人惊讶的是,将结果渲染为 ,foo 呸,呸 在场地的右边 为什么在使用rtl时foo后面的逗号会移到字段的开头?为什么字母字符和单词不一样呢 这在最近的Firefox和Chrome版本37.0.2062.94的渲染时发生 错误呈现的文本按预期方式剪切和粘

HTML

<div style='direction:rtl;'>foo,</div>
<div style='direction:rtl;'>fie, fum</div>
foo,
呸,呸
令人惊讶的是,将结果渲染为

,foo
呸,呸

在场地的右边

为什么在使用rtl时foo后面的逗号会移到字段的开头?为什么字母字符和单词不一样呢

这在最近的Firefox和Chrome版本37.0.2062.94的渲染时发生

错误呈现的文本按预期方式剪切和粘贴-逗号出现在末尾

我们需要的是一个文本显示字段,该字段右对齐文本并截断字段左边缘的溢出文本。把它想象成只想看到文本字符串的结尾。我们在SlickGrid中使用它,但这显然不是SlickGrid的问题

犹豫不决

我们计划的丑陋的解决方法是添加

<span style='visibility:hidden;'>i</span>
i

在每个文本行之后显示。除了我们将把样式移到css之外。

您可以将内容放在内联元素中,然后使用unicode bidi

HTML

小提琴:

问候


Axel

更直接的方法是在
div
元素中使用
。无论如何,要点是逗号的方向性很弱,因此“fie”被视为“fie”(具有固有的从左到右的方向性)和“,”,这两个项目按要求从右到左排列。为了克服这个问题,可以使用HTML、CSS或特殊字符来强制从左到右的方向性。我们从来没有听说过比迪的任何事情,也不知道该去哪里找。非常感谢。朱卡:看起来也很有用。如果遇到进一步的双向问题,我们会记住这一点。>为什么在使用rtl时foo后面的逗号会移到字段的开头?要清楚的是,它不是在场的开始,而是在场的结束。但是由于字段是RTL,所以开始在右边,结束在左边。
<div><span>fie,</span></div>
<div><span>fie, foo,</span></div>
div {
    direction: rtl;  
}

div span {
    direction: ltr;
    unicode-bidi: bidi-override;
}