Css 选择元素(id选择器(vs)元素+id选择器)时,性能最佳的是什么

Css 选择元素(id选择器(vs)元素+id选择器)时,性能最佳的是什么,css,css-selectors,Css,Css Selectors,我只是想知道,当选择一个元素并在其上应用样式时,以下哪种方式可以提供更好的性能,即:加载速度 例如: HTML box更快,因为浏览器不需要检查元素名称是否等于div。但我不认为速度差异在任何自然条件下都是明显的。box更好,因为它只使用一个选择器id选择器 divbox有两个选择器 盒子应该快一点。但是,不要猜测,测试一下! 是一个复合选择器。浏览器将首先匹配所有DIV元素,并从该集合中查找属性ID=box的元素。实际上,浏览器从右到左解析选择器,因此它将首先使用idbox选择元素。可能有几个

我只是想知道,当选择一个元素并在其上应用样式时,以下哪种方式可以提供更好的性能,即:加载速度

例如:

HTML

box更快,因为浏览器不需要检查元素名称是否等于div。但我不认为速度差异在任何自然条件下都是明显的。

box更好,因为它只使用一个选择器id选择器

divbox有两个选择器

盒子应该快一点。但是,不要猜测,测试一下!
是一个复合选择器。浏览器将首先匹配所有DIV元素,并从该集合中查找属性ID=box的元素。

实际上,浏览器从右到左解析选择器,因此它将首先使用idbox选择元素。可能有几个,但应该只有一个,然后过滤它们,只留下元素名称等于DIV的元素,正如我在回答中所说的@保罗·科兹洛维奇:这个链接如何证明你的评论?是的,没错。在标记化和解析之后,匹配是从右向左的。解析,至少是根据,我在Chrome代码中看到的是从左到右的。@Paul Kozlovitch:这并不能证明RTL匹配的任何东西。它只是证明CSS并不认为文档是一致的。@Mircea:最后一点很容易引起它自己的戏剧性;性能也可能因浏览器实现而异。然而,divbox是一种糟糕的做法。您对选择器的资格要求过高,性能增益或损失将无关紧要
<div id="box"> content </div>
/* First way */
#box {color:red;}

/* Second way */
div#box {color:red;}
div#box