首先,我了解 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 元素,可以確保阿拉伯文本從右到左正確顯示。