当我的网站显示希伯来语文本与数字混合,并且中间有一个数字与破折号,中间的破折号显示RTL.例如,文字:
οמה4-0,它应该显示4-0而不是0-4,因为它是一个数字序列,’4’在’0’之前.然而,在我检查的浏览器上,它在’4’之前显示’0′.
οמה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-right和
right-to-left标记字符(& lrm;和& rlm) – 这不需要任何额外的标记,不分隔符,并将保留源文档中的文本顺序.
一个替代方法是使用一些标记来区分数字,与破折号(类似于你所做的),因为Unicode BIDI算法在没有帮助(lrm和rlm)的情况下,不会很好地处理这个特定场景.
没有必要像您所做的一样内联CSS,但您仍然需要以下内容:
CSS:
.numdash { direction: ltr; }
HTML:
<span class="numdash">4-0</span>
第三个选项是反转数字,并在标记中简单地使用0-4,并将其与Bidi算法相反.
原文地址:https://www.jb51.cc/css/214104.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。