首先,我了解 bdo
元素的属性 dir
与任何其他元素之间的区别。如果我们有以下文本:
Hello world!
<bdo dir="rtl">Hello world!</bdo>
将显示文本的镜像版本为:
!dlrow ,olleH
并且 <p dir="rtl">Hello world!</bdo>
将像平常一样显示阿拉伯语文本:
!Hello, world
为什么 bdo 元素存在?我检查了 MDN 的用例,但没有找到任何用例。这个例子表明,在任何现实世界的应用程序中,这对我来说似乎都是无用的。是否存在镜像文本被视为正常的 RTL 语言?或者这个元素还有另一个用例?
UPD:我什至发现了 W3C 成员的一条推文:
推荐 BDO 永远是错误的。
当文本采用从右到左 (RTL) 书写的语言(例如阿拉伯语、希伯来语或波斯语)并且需要在网页上正确显示时,这非常有用。
例如,假设您有一个网页,其中包含一些英文文本,后跟阿拉伯语引用。如果不使用 bdo 元素,阿拉伯语引号将以与英语文本相同的方向显示,这是不正确的。通过使用带有“rtl”属性的 bdo 元素,可以确保阿拉伯文本从右到左正确显示。