css 优先级

css优先级很重要,可能因为优先级会造成一些语句没有作用,所以一定要明白css优先级。

首先优先级的原则。

(1)继承不如指定

(1)#id > .class > 标签选择符

(1)越具体越强大

(1)标签#id >#id ; 标签.class > .class

CSS优先级包含四个级别(标签内选择符,ID选择符,Class选择符,元素选择符)以及各级别出现的次数

 

根据这四个级别出现的次数计算得到CSS的优先级。

 CSS优先级的计算规则如下:

(1)元素标签中定义的样式(Style属性),1,0,0,0

(2)每个ID选择符(#id),0,1,0,0 

(3)每个Class选择符(.class)、每个属性选择符([attribute=])、每个伪类(:hover)0,0,1,0 

(4)每个元素选择符(如p)或伪元素选择符(:firstchild)等,加0,0,0,1

将这四个数字分别累加,就得到每个CSS定义的优先级的值, 然后从左到右逐位比较大小,数字大的CSS样式的优先级就高。

 

例子

1. h1 {color: red;}
 /* 一个元素选择符,结果是0,0,0,1 
2. body h1 {color: green;} 
/* 两个元素选择符,结果是 0,0,0,2 
3. h2.grape {color: purple;} 
/* 一个元素选择符、一个Class选择符,结果是 0,0,1,1
4. li#answer {color: navy;}
 /* 一个元素选择符,一个ID选择符,结果是0,1,0,1  
元素的style属性中如下定义h1 {color: blue;}
 /* 元素标签中定义,一个元素选择符,结果是1,0,0,1
h1 {color: blue;}
/* 元素标签中定义,一个元素选择符,结果是1,0,0,1

 

猜你喜欢

转载自liujun11.iteye.com/blog/2383813