使用LTR和RTL内容的组合更改负数的方向

Mar*_* AJ 6 html css bidi

这是我的HTML结构:

div{
  direction: rtl;
}

span{
  direction: ltr;
}
Run Code Online (Sandbox Code Playgroud)
<div>
  <span>????? -2</span>
  </div>
Run Code Online (Sandbox Code Playgroud)

这是预期的结果:

在此输入图像描述

如您所见,-签名应该在数字的开头.我怎样才能做到这一点?

注意:方向div应该是rtl.


编辑:我生成这样的数字:

$sums_value = sprintf("%+d",$sums_value);

/* 
sums_value = -2 //=> -2
sums_value = 2  //=> +2
Run Code Online (Sandbox Code Playgroud)

所以数字格式正确,但我不知道为什么它会在输出中被破坏:

在此输入图像描述

Mar*_*cus 8

以下对我有用:

span {
  unicode-bidi: plaintext;
}
Run Code Online (Sandbox Code Playgroud)

更多信息:https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidi

顺便说一句,“bidi”是双向的缩写。


Dek*_*kel 7

由于您的屏幕截图在不同的span元素中具有"-2",因此您可以unicode-bidi选择该特定范围:

div{
  direction: rtl;
}

span{
  direction: ltr;
  unicode-bidi: bidi-override;
}
Run Code Online (Sandbox Code Playgroud)
<div>
  ????? 
  <span>-2</span>
</div>
Run Code Online (Sandbox Code Playgroud)

一般的想法unicode-bidi是能够在同一页面上更改您有多种语言的文本的方向性的默认行为.

由于您使用的是某种RTL语言,并且希望它-2出现LTR,因此unicode-bidi: bidi-override非常方便.