首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CSS >

CSS 选择器点染优先级

2012-11-22 
CSS 选择器渲染优先级?CSS 选择器渲染优先级?一般情况下,CSS的优先顺序如下,这个大家应该都知道:important

CSS 选择器渲染优先级

?

CSS 选择器渲染优先级

?

一般情况下,CSS的优先顺序如下,这个大家应该都知道:

important > 内联 > ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 > 继承 > 通配符 通配符 > 继承。

?

根据这个规律,可以先做下一下的题目:

?

?

?

通过这个计算方法,计算下例子中的选择器组合的权值:

第一组:0,1,6,0

第二组:0,2,3,1

?

虽然拿到了数据,但还是不知道怎么比较,231>160么。大多数情况下,可以这么判断,但是如果是(0,1,60,0)跟(0,2,3,1)呢,这时候就没法用1600 > 231 去判断。

前面说个,权值是一组数,不是一个数,所以(0,1,6,0) != 160。

判断的逻辑应该这样:

?

从左往右,如果同位上,值大的整个组合的权值就大,如果相同,再进行下一位比较。如果位数不够,在左边补0处理。数位之间没有进制,不会满10向前一位进1。

?

再看例子中,第二组中第二位2大于第一组中第二位的1,所以第二组的权值大于第一组。

?

那important的权值怎么算呢,W3C中算然没说,但一般情况下important的权值看成1,0,0,0,0。

?

有些人需要用一个数代表一个权值的办法来计算,比如

?

1. 内联样式: 1000
2. ID 选择器: 100
3. Class 类选择器: 10
4. 标签选择器: 1?

这种算法很容易让人误以为是10进制数学运算,所以当同一个选择器有10个以上时,就不能用这种方法计算。比如ID选择器有11个,那他的权值是1100,但其实还是内联样式的优先级高,虽然内联样式的权值只有1000.


热点排行