您打算如何为阿拉伯语设置文字。 据我了解,如果下面的句子是阿拉伯语: “猫坐在垫子上” 它会正确对齐并镜像从右到左阅读: “tam eht no tas tac ehT”
但是,如果您使用dir =“rtl”属性,则不会执行此操作。 http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_global_dir
我错过了什么吗?
答案 0 :(得分:1)
您误解了dir
属性。
显示的每个单词中的字符顺序由Unicode双向算法决定,而不是由dir属性决定。
换句话说,像英语这样的语言从左到右阅读。但是,对于其他语言(如阿拉伯语),Unicode算法将从右到左呈现。
从W3开始。
为了在显示HTML页面时文本看起来正确,我们需要建立该文本的方向上下文。我们将该上下文称为文本的基本方向。
为Unicode双向算法建立适当的基本方向以生成所显示文本的预期排序,这一点至关重要。正确指定基本方向还会为文本建立正确的默认对齐方式。
在HTML中,基本方向由最近的使用dir属性的父元素显式设置,或者,如果没有这样的属性,则基本方向将从文档的默认方向继承,该方向是 - 到右边(LTR)。
将dir =“rtl”添加到html元素将导致块元素和表格列从右侧开始并从右向左流动。除非明确覆盖方向,否则文档中的所有块元素都将继承此设置。
参考