如何创建阿拉伯语和其他从右到左语言的RTL文本



如何设置阿拉伯语文本。据我所知,如果以下句子是阿拉伯语:"猫坐在垫子上"它将向右对齐并镜像为从右向左读取:

但是,如果使用dir="rtl"属性,则不会执行此操作。http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_global_dir

我是不是错过了什么?

您误解了dir属性。

显示的每个单词中的字符顺序由Unicode双向算法决定,而不是由dir属性决定。

换句话说,像英语这样的语言从左到右阅读。然而,对于阿拉伯语等其他语言,Unicode算法将从右到左进行渲染。

来自W3本身。

为了在显示HTML页面时使文本看起来正确,我们需要建立该文本的定向上下文。我们将把这一背景作为案文的基本方向。

为Unicode双向算法建立适当的基本方向,以产生所显示文本的预期顺序,这一点至关重要。正确指定基准方向也会为文本建立正确的默认对齐方式。

在HTML中,基本方向要么由使用dir属性的最近父元素显式设置,要么在没有此类属性的情况下,从文档的默认方向(从左到右(LTR))继承基本方向。

添加dir="rtl";到html元素将导致块元素和表列从右侧开始,并从右向左流动。除非明确重写了方向,否则文档中的所有块元素都将继承此设置。

参考

http://www.w3.org/International/questions/qa-html-dir

最新更新