direction: ltr
不会将负号放在数字左侧的原因是周围的字符都是从右到左的字符,这使得“中立”字符如数字和减号(或连字符)遵循该方向性。 direction
属性 影响盒子的布局方向和相关问题,而不是文本的书写方向。<p>א <label id="ProfitShk" class="labelVal">-9 ₪</label> ת
<p>a <label id="ProfitShk" class="labelVal">-9 ₪</label> b
unicode-bidi: bidi-override
,以及 direction
。它意味着内容内部固有的方向性被忽略,并应用由 direction
指定的顺序。unicode-bidi: embed
,以及 direction
。这将在其中创建一个“方向性岛屿”,使周围的文本不会影响方向性。当元素内容仅包含“中性”字符时,direction
属性设置文本方向。<bdo>
元素,带上 dir
属性。这是方法2的HTML对应项,并且更好,因为这不涉及样式呈现建议(这是CSS的任务,并且做得最好),而是关于正确处理方向性中的一些基本问题。‎
和 ‏
。这将使字符串前的最后一个字符成为从左到右标记,如果它仅包含“中性”字符,则使其显示为从左到右。<bdo>
可能是最好的方法。在所有方法中,方向性的设置应该限制在可能的最小字符串上,例如示例中的-9。<p>א <label id="ProfitShk" class="labelVal"><bdo dir="ltr">-9</bdo> ₪</label> ת
用作减号的字符应该是Unicode减号“−” U+2212 MINUS SIGN,可以在HTML中表示为−
,但这不会影响方向性问题。
<label id="ProfitShk" class="labelVal">‎-9 ₪</label>
这样,减号就会放在9的前面(这可能是你想要的)
这个微软文档解释了LRM控制字符以及其他控制字符。
direction
设置为rtl
。我想你的本意应该是写成ltr
。 - Jukka K. Korpela