css – RTL在网页上使用破折号反转数字

当我的网站显示希伯来语文本与数字混合,并且中间有一个数字与破折号,中间的破折号显示RTL.例如,文字
οמה4-0,它应该显示4-0而不是0-4,因为它是一个数字序列,’4’在’0’之前.然而,在我检查的浏览器上,它在’4’之前显示’0′.

由于这可能会发生系统数据中的任何地方显示,所以最好有一个CSS解决方案不需要这样的东西:

<span style="direction:ltr">4-0</span>

文本的一般方向应保持RTL,但带有破折号的数字应显示为LTR.应在主要浏览器(IE,Firefox,Chrome)上正确显示.

解决方法

您可以在数字序列之前和之后嵌入 left-to-rightright-to-left标记字符(& lrm;和& rlm) – 这不需要任何额外的标记,不分隔符,并将保留源文档中的文本顺序.

一个替代方法是使用一些标记来区分数字,与破折号(类似于你所做的),因为Unicode BIDI算法在没有帮助(lrm和rlm)的情况下,不会很好地处理这个特定场景.

没有必要像您所做的一样内联CSS,但您仍然需要以下内容

CSS:

.numdash
{
  direction: ltr;
}

HTML:

<span class="numdash">4-0</span>

第三个选项是反转数字,并在标记中简单地使用0-4,并将其与Bidi算法相反.

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效