标签:关于 redirect locale 做了 overflow 匹配 开发工程师 its 性能
计算指定选择器的优先级:重新认识CSS的权重
使用的规则也很简单,就是 选择器的权值加到一起,大的优先;如果权值相同,后定义的优先 。虽然很简单,但如果书写的时候没有注意,很容易就会导致CSS的重复定义,代码冗余。
从上面我们可以得出两个关键的因素:
记得以前看过一篇文章 256个class类名选择器干掉一个id选择器实例页面
http://www.zhangxinxu.com/study/201208/256-class-fire-an-id.html
Gecko overflows the count of classes into the count of IDs, each of which holds 8 bits. — Cameron McCormack (@heycam) August 16, 2012
给出的答案是:所有的类名(classes)都是以8字节字符串存储的。8字节所能hold的最大值就是255. 当同时出现256个class, 势必会越过其边缘,溢出到id区域。
总结:
比较同一级别的个数,数量多的优先级高,如果相同即比较下一级别的个数 ,至于各级别的优先级,大家应该已经很清楚了,就是:
important > 内联 > ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 > 继承 > 通配符 通配符 > 继承
这也就解释了为什么11个标签的定义会比不上1个类的定义,1个类加11个标签会比不上2个类的权重高。
选择器种类
查阅资料归纳下大概有如下几种:
通配选择器
类型选择器
ID选择器
类选择器
包含选择器
子元素选择器
相邻兄弟选择器
属性选择器
css1-css3提供非常丰富的选择器,但是由于某些选择器被各个浏览器支持的情况不一样,所以很多选择器在实际css开发中很少用到
关于CSS的执行效率:
Google 资深web开发工程师Steve Souders对CSS选择器的效率从高到低做了一个排序:
标签:关于 redirect locale 做了 overflow 匹配 开发工程师 its 性能
原文地址:http://www.cnblogs.com/tony-abel/p/7680249.html