针对某些语言(如阿拉伯文字或希伯来文字),文字的排列顺序是从右往左,而不是一般的从左往右排列。因此,如果有两种语言同时出现在一个文档中,那么就有可能一个段落,同时有从左往右书写的文字以及从右往左书写的文字。这种两类文字混排的情况,就是双向文稿(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