CSS解析速度需要注意几点
时间:2010-05-26 来源:ibrave
New Document
css的解析速度或许没有那么重要,因为网站的速度更取决于其他的因素,但是css高手还是需要了解一下。
有两篇参考文章,分别是:mozilla的官方指导 和Google的官方指导,E文好的可以去看看。
好了,以下是几个需要注意的问题。
1、css的解析从右到左。
拿ul > li a[title="home"]为例,浏览器会首先选取 a[title="home"],然后往上回溯,如果遇到li 并且li上一层有ul,则规则生效,如果否则规则抛弃
2、ID匹配的最快,通用的最慢
#main-navigation { } /* ID (最快) */ body.home #page-wrap { } /* ID */ .main-navigation { } /* Class */ ul li a.current { } /* Class * ul { } /* Tag */ ul li a { } /* Tag */ * { } /* 通用 (最慢) */ #content [title='home'] /* 通用 */
拿#main-nav > li { } 为例,按照1中的说法,首先会匹配 li,然后往上找#main-nav,因为li是tag匹配,所以可能没有想象中来的快。
3、不用tag和id用在一起
比如ul#main-navigation { },因为id是唯一的,所以不如直接用#main-navigation { }效率更高。
4、真的没有必要层层递进
html body ul li a { },因为要匹配的太多,效率很低。
据说淘宝的ued团队,会为了节省几个字符优化css代码。翔意网站也需要高标准要求,因为我们的很简单。
相关阅读 更多 +