在CSS中使用非常特定的选择器是否有优势?

Jos*_*zel 8 css browser optimization css-selectors

我理解在jQuery中,使用选择器时更具体是有利的,这样jQuery就不必遍历整个DOM来找到你想要的东西.例如,$('span.description')$('.description')我知道description该类只应用于<span>元素更好.

这也是CSS的情况吗?是否有任何特定的优势可供我使用span.description { }而不是.description { }?我在思考速度,优化等方面.我是否通过告诉它确切的位置来保存浏览器的任何工作?

Kel*_*ron 7

在CSS中也是如此 -

一个好的规则是从最近的ID下降.ID被编入索引,因此定位它们非常快.没有理由在选择器中使用多个.

Google Code-优化浏览器呈现

这回答了很多关于这个问题的问题,包括这个问题 - 我希望你发现它很有用.

  • "一个好的规则是从最近的ID下降".更好的规则是根本不使用后代选择器,而是使用类.重要的是要理解浏览器从右到左评估选择器,这意味着'#foo img'将首先在DOM中找到每个'img',然后在DOM树中遍历以查看选择器的其余部分是否满足. (2认同)