網頁制作poluoluo文章簡介:渲染CSS選擇器.
最近在High Performance Web Sites blog看到一篇關於css選擇器的文章《Simplifying CSS Selectors》,我英文太差,在翻譯軟件和朋友的幫助下稍微的看懂了一些,看本文需要謹慎,謹防被我誤導,如果你英文強,能翻譯作者原文那就更好了,大家都會感謝你的;
看懂的整理了如下幾點:
1.作者先前的文章裡說:不用去優化CSS選擇器,因為優化CSS選擇器對網友的性能提升很小,不值得去計較;這個觀點似乎有點不對,作者收到了很多批評的反饋;(轉載請注明出處:WEB前端開發 http://www.css88.com/)
2.David Hyatt的文章《Writing Efficient CSS for use in the Mozilla UI》中提到的一條CSS渲染規則是:在一條css中,css選擇器是從最右邊開始之後依次向左移動的,直到它不匹配CSS規則或匹配錯誤;所以我們的工作重點應該放在最右側的CSS選擇器來匹配大量的頁面的元素。
比如這樣一個css選擇器:div div div p a.class0007 {}
這個選擇器有5層,貌似很負責的,但是最右邊的選擇器是A.class0007,在頁面中只有一個匹配的元素逆向匹配(.class0007);
所以這樣的選擇器不用擔心他的性能;
3.當然還有一些性能不好的css選擇器:
A.class0007 * {}
A.class0007 DIV {}
#id0007 > A {}
.class0007 [href] {}
DIV:first-child {}
這些性能不好的css選擇器主要是因為在最右邊的選擇器可以匹配的元素很多,從而降低了頁面的性能。