CSS child vs descendent selector

时间:2010-08-27 02:46:17

标签: css css-selectors

我读到在css中使用子选择器(>)比后代选择器()更快。例如:p > em而非p em

在我看来,我在野外看到的大多数代码都没有利用这一点。

我理解某些情况值得使用其中一种,但总的来说,我是否应该尽可能地利用儿童选择器?或者我应该遵循什么似乎是惯例,主要依靠后代选择器?

1 个答案:

答案 0 :(得分:11)

理论上,子选择器将比后代选择器更快,因为浏览器可以在第一级之后停止检查子节点。但是,我怀疑你从中看到的任何性能提升都可以忽略不计,因为浏览器首先会快速解析CSS。

正如NullUserException指出的那样,选择器在IE6中不起作用,所以如果你非常关心IE6,我就不会加载你的CSS。但要记住的一件好事是,您应该非常清楚在哪种情况下使用哪种方法。问问自己,“我是否希望此声明涵盖所有匹配的孩子,或者我是否希望它仅涵盖直接匹配的孩子?”问自己这样一个问题似乎显而易见,但这确实是你应该在两者之间做出选择的唯一方法。除非你的意思,否则不要使用>

另见我的问题Is there an advantage to using very specific selectors in CSS?

另请参阅:CSS selector support per browser