为什么';富吧';和';foo>;酒吧';在CSS中有相同的特异性吗?

为什么';富吧';和';foo>;酒吧';在CSS中有相同的特异性吗?,css,css-selectors,css-specificity,Css,Css Selectors,Css Specificity,我很好奇为什么使用或其他组合符不会影响CSS选择器的性能,也就是说,为什么div span(匹配div中的某个span)和div>span(匹配div的直接子span)在特异性方面被认为是相等的 我确实意识到,组合词的使用与特异性完全无关,但我想知道这是否有一定的原因。这实际上是在工作组邮件列表中提出的,早在年 它基本上归结为,是的,直觉上,一个带有组合符的选择器看起来更具体,但是一个算法,从当前的算法扩展而来,考虑到这一点,它变得比现在使用的“简单”三元组复杂得多,这对人们来说是相当混乱的 最

我很好奇为什么使用
或其他组合符不会影响CSS选择器的性能,也就是说,为什么
div span
(匹配div中的某个span)和
div>span
(匹配div的直接子span)在特异性方面被认为是相等的


我确实意识到,组合词的使用与特异性完全无关,但我想知道这是否有一定的原因。

这实际上是在工作组邮件列表中提出的,早在年

它基本上归结为,是的,直觉上,一个带有组合符的选择器看起来更具体,但是一个算法,从当前的算法扩展而来,考虑到这一点,它变得比现在使用的“简单”三元组复杂得多,这对人们来说是相当混乱的

最后,

While this could have been the case, this is one of the few things in CSS2 that have been interoperably implemented for years, and therefore won't change in CSS2.1. 虽然可能是这样,但这是CSS2中为数不多的事情之一 已经互操作实施多年,因此不会 CSS2.1中的变化。
“如果它没有坏,就不要修理它。”这似乎是最后的决定。

我想这只是因为它们彼此都很具体。。。“一个
span
div
的后代”和“一个
span
div
的子级”,而不是更具体的东西,例如“一个
span
带有某个类名,是
div
的子级”你可能会说,一个div中的某个span不如一个div的直系子span那么具体是的,非常正确。好问题!我可以说“直系子”是不必要的专一性。@Josh Stodola:那份文件(或是关于这个问题的文件)在哪里解释了为什么组合词不能增加专一性?