派生选择器的匹配规则是从右往左的,例如.left span{···}。为什么浏览器都这样设计呢?这样的匹配效率不是都很低么?
那用派生选择器的话,我可以避免添加很多css类,代码会优雅很多;如果不用的话,代码肯定会臃肿很多了,但是性能会得到提升。那其实性能与开发效率之间应该怎么权衡呢?
效率方面不需要做考虑 ,假设一个网页有1000个标签,1000个标签里面又有1000个子标签,那么派生选择器的最坏也是1000*1000次遍历。如果浏览器有进行按权重优先组合,时间会更少。
LZ没搞明白选择器的意义所在
但是前端不是经常要把效率问题放在心上么?
@lqzerogg: 前端最重要的是兼容IE6,IE7,chrome,firefox.效率问题是浏览器的工作
@Misko_Lee: 哦,这样么
派生选择器是从左到右吧。。。至于效率与性能得根据实际情况来定义如何使用css,比如一个css整个项目只用那么一次,你不可能给独立开来吧,一个频繁使用的如果你不用类来做,恐怕代码维护的时候得做无数重复的修改。css的使用不但跟性能和开发效率有关,维护也是个问题啊。