针对某些语言(如阿拉伯文字或希伯来文字),文字的排列顺序是从右往左,而不是一般的从左往右排列。因此,如果有两种语言同时出现在一个文档中,那么就有可能一个段落,同时有从左往右书写的文字以及从右往左书写的文字。这种两类文字混排的情况,就是双向文稿(Bidirectional Text)。
针对这种情况,HTML 提供了一个特殊的元素 bdo,用于处理文档中特殊的文字流排列。这里 bdo 的全称是 Bidirectional Text Override。举例如下:
<p>
This is Text Left to Right
<bdo dir="rtl" style="color:red">Right to Left part</bdo>.
Rest of the world.
</p>展示效果如下:
This is Text Left to Right Right to Left part. Rest of the world.
dir 这个属性,可以用于设置当前文字应该显示的方向,可用的属性包括 ltr,rtl 和 auto 三种。需要注意的是,dir 这个参数,是针对 bdo 元素的,如果写在其他元素上,并不能起到同样的效果。比如,<span dir="rtl">Hi</span> 并不会让 Hi 显示为 iH。
更多内容,可以参考 MDN