最快的CSS选择器?

时间:2012-02-09 19:14:01

标签: css performance css-selectors

鉴于我有一个弹出窗口,ID为“popup”,其中有两个按钮,一个在左边,一个在右边,有类“popupbutton”,这些css规则中的哪一个最有效:

#popup a.popupbutton

#popup .popupbutton

a.popupbutton

.popupbutton

3 个答案:

答案 0 :(得分:4)

.popupbutton

课程会更快。但是当你接下来的时候,你会节省20-50ms(这可能或不重要)。

您可以在此处阅读相当不错的测试,了解多个浏览器中css选择器速度的差异:http://www.stevesouders.com/blog/2009/03/10/performance-impact-of-css-selectors/

  

所有浏览器的平均减速时间为50毫秒,如果我们查看大型浏览器(IE 6& 7,FF3),平均增量仅为20毫秒。对于今天70%或更多的用户来说,改进这些CSS选择器只能提高20毫秒。

正如您从文章中看到的那样,选择器速度的差异非常小,而且这些测试反对非常强大的DOM示例。

答案 1 :(得分:2)

.popupbutton是最快的选择器,请在CSS渲染上查看Google PageSpeed tips

答案 2 :(得分:1)

.popupbutton是最快的 但请注意,a.popupbutton.popupbutton不同。他们大多数时间会做同样的事情,但考虑这个例外:

a:link { color: red; }
.popupbutton { color: green; } /* Won't work */
a.popupbutton { color: green; } /* Will work */