首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><bdi>与<span dir="auto">的区别

<bdi>与<span dir="auto">的区别
EN

Stack Overflow用户
提问于 2019-10-22 12:22:09
回答 1查看 465关注 0票数 3

在以下HTML中,<bdi><span dir="auto">的行为似乎都是一样的:

代码语言:javascript
复制
<p dir="auto">
<bdi>ABC תתת DEF</bdi>
אבג דהו.
</p>

<p dir="auto">
<span dir="auto">ABC תתת DEF</span>
אבג דהו.
</p>

我找不到他们行为不同的任何情况,所以我的问题是:

他们之间有什么区别吗?有理由使用<bdi>而不是dir="auto"吗?特别是如果我想将它应用于HTML中已经存在的元素,例如<a>

代码语言:javascript
复制
<p dir="auto"><a href="http://example.com" dir="auto">http://example.com</a> טקסט טקסט</p>
<p dir="auto"><bdi><a href="http://example.com">http://example.com</a></bdi> טקסט טקסט</p>

带有<bdi>的版本有一些不必要的嵌套。

如果dir="auto"完成了同样的事情,那么为什么<bdi>会存在?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-22 13:10:15

来自MDN

<span dir="auto">中嵌入字符与使用<bdi>具有相同的效果,但语义不太清楚。

规范还确认:通过在这两种条件下分组相同的算法(dir="auto"属性或<bdi>元素),行为是相同的。

换句话说:如果您要应用dir="auto"的元素是一个短语元素,它不是一个<span>,并且已经具有自己的语义(例如您的示例中的<a> ),那么最好使用该属性来节省<bdi>元素的嵌套开销。如果它是一个<span>,一个本身没有语义意义的元素,那么最好使用专用的<bdi>元素。原则上,这与更喜欢<main>而不是<div role="main">,或者<nav><div role="navigation">更好。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58504199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档