在 HTML 中,<bdo>
标签用于覆盖当前的文本方向。
当我有标签时,我应该在里面<div>
使用标签吗?<bdo>
<div><bdo dir="rtl">TEXT</bdo></div>
或者,我应该为<div>
标签使用 CSS 类:
<div class="rtl-lang">TEXT</div>
我的问题是:我什么时候应该使用<bdo>
标签?它会被弃用吗?
在 HTML 中,<bdo>
标签用于覆盖当前的文本方向。
当我有标签时,我应该在里面<div>
使用标签吗?<bdo>
<div><bdo dir="rtl">TEXT</bdo></div>
或者,我应该为<div>
标签使用 CSS 类:
<div class="rtl-lang">TEXT</div>
我的问题是:我什么时候应该使用<bdo>
标签?它会被弃用吗?
通常不应使用该bdo
元素或其对应的 CSS,因为它们是在特殊情况下使用的,在这种情况下,您需要覆盖正常的双向规则。它们意味着强制书写方向,这意味着字母的固有方向性将被覆盖。
对于从右到左语言的任何普通文本,<div dir=rtl>...</div>
就足够了。事实上,在大多数情况下,您甚至不需要这样,因为默认情况下,拉丁字母、希腊字母和西里尔字母会从左到右排列,阿拉伯语和希伯来字母会从右向左排列,中性字符也会随之而来。但是该dir
属性仍然是针对特殊情况和浏览器错误的有用预防措施。
使用dir
CSS 而不是相应的 CSS 更可取,因为书写方向不仅仅是一个随意的表示建议,如字体、颜色和背景,而是书写系统的一个组成部分。
因此,bdo
仅当您有充分的理由覆盖双向算法时才应使用。如果你想知道你是否有充分的理由,你没有。但这里有一个例子。如果你写
The letters א, ב, and ג...
那么视觉顺序将是错误的,因为希伯来字母 א 和 ב 会以错误的视觉顺序出现(鉴于英语语境)。它们之间的逗号是中性的,因此它们从右到左运行。为了防止这种情况,你会写
The letters <bdo dir=ltr>א, ב,</bdo> and ג...
没有理由期望bdo
它会被弃用。它有它的用途,虽然很少见,但在相关范围内,它达到了它的目的。在极少数情况下使用 HTML 而不是 CSS 更合乎逻辑,使用 HTML 而不是覆盖正常方向性的控制字符更实用。
它表明它包含在 HTML5 规范http://www.w3.org/wiki/HTML/Elements/bdo和https://developer.mozilla.org/en-US/docs/Web/HTML/ Element/bdo它表明这是 HTML5 的候选推荐。它会被弃用吗?很可能不是。