从右到左(rtl)英文单词以html显示

时间:2012-06-13 08:07:22

标签: css right-to-left

问题是这个,

<p>Hi world</p>

LTR:

Hi world

RTL:

world Hi

我无法让这个RTL显示器没有使用css。

我现在尝试了这些css属性。

direction: rtl;
unicode-bidi: embed || normal; //same effect, nothing changes.
unicode-bidi: bidi-override; //each letter comes from r-t-l. Like: dlrow iH
text-align: right;

无论如何都要使用css将文本转换为world Hi表单。

由于

3 个答案:

答案 0 :(得分:4)

不,这是不可能的,方向性并不意味着用于这样的操作。

direction属性及其dir属性的HTML对应项设置方向中性文本的方向性。即使像空格这样的中性字符介入,它也不会影响具有强固有方向性的字符串。值bidi-override意味着它所说的,它只是强制单一的书写方向。

你也需要处理这些单词,因为CSS没有可以在这里使用的伪元素,你需要使用真实元素,标记如

<p><span class=w>Hi</span> <span class=w>world</span></p>

然后,您可以对整个元素和单个单词使用不同的方向性设置:

span { unicode-bidi: embed;}
p { unicode-bidi: bidi-override; direction: rtl;  text-align: left; }   

答案 1 :(得分:1)

我一直认为阅读方向是在html开场标签中设置的,如下所示:

<html dir="rtl">

答案 2 :(得分:1)

我认为使用“rtl”你会得到一个输出:“dlrow iH”

由于你无法在CSS中检测到单独的单词,我建议使用JavaScript来解决这个问题:

var string = "Hi world";
var array = string.split(" ");
var reversed = array.reverse();
reversed
-> ["world", "Hi"]