我读到,使用css中的子选择器(>)比后代selector()快.例如:p> em而不是p em.
在我看来,我在野外看到的大部分代码都没有利用这一点.
我明白某些情况值得使用一个或另一个,但一般来说,我应该尽可能地努力利用孩子选择器吗?或者我应该遵循什么似乎是惯例,主要依靠后裔选择器?
解决方法
理论上,子选择器将比后代选择器更快,因为浏览器可以在第一级之后停止检查子节点.不过,我怀疑,由于浏览器首先解析CSS,所以您看到的任何性能提升都可以忽略不计.
正如NullUserException指出的那样,选择器在IE6中不起作用,所以如果你非常关心IE6,我将不会加载你的CSS.但是,要记住的一件好事是,你应该有一个很清楚的想法,在哪种情况下使用.问问自己,“我想要这个声明涵盖所有匹配的孩子,还是要让它只覆盖直接匹配的孩子?”问自己这样一个问题似乎是很明显的,但这真的是你应该在两者之间选择的唯一方法.不要使用>除非你的意思
另见我的问题Is there an advantage to using very specific selectors in CSS?