您好,登录后才能下订单哦!
本篇内容介绍了“如何理解权重和层叠规则决定了CSS样式优先级”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
代码如下:
<span style=”font-size:14px;”><html> 
<head> 
<style type=”text/css”> 
#redP p { 
/* 权值 = 100+1=101 */ 
color:#F00; /* 红色 */ 
} 
#redP .red em { 
/* 权值 = 100+10+1=111 */ 
color:#00F; /* 蓝色 */ 
} 
#redP p span em { 
/* 权值 = 100+1+1+1=103 */ 
color:#FF0;/*黄色*/ 
} 
</style> 
</head> 
<body> 
<div id=”redP”> 
<p class=”red”>red 
<span><em>em red</em></span> 
</p> 
<p>red</p> 
</div> 
</body> 
</html></span> 
一、基本的优先级规则 
比较同一级别的个数,数量多的优先级高,如果相同即比较下一级别的个数,至于各级别的优先级如下: 
important > 内联 > ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 > 通配符 > 继承 
二、CSS权重规则 
在《页面重构中的模块化设计》中提到,影响CSS样式权重,有两个重要因素: 
A:样式的优先级跟样式定义的顺序有关 
B:权值的大小跟选择器的类型和数量有关 
一般来说,在同一个CSS文件中,如果有两个同名的样式,则后定义的会覆盖先定义的。选择器类型的优先级见(一)。 
那么,CSS的权重是怎么算的呢? 
一个selector的权重表示方式:0.0.0.0,按照计算规则给每位填充数字,对应位置相等,则比较下一位。 
权重的计算规则如下:(为方便,用A.B.C.D代替各位置的值) 
1、内嵌样式:A=1,B=C=D=0(即1.0.0.0) 
2、ID样式:selector中带几个ID,第2位就加几个1 如#header{color:red},就是A=C=D=0,B=1(即0.1.0.0) 
3、类,伪类,以及属性的个数就是第三位的值: 
.a.b[type="text"]:hover{},选择器中有2个类,1个属性,1个伪类,所以它的第3位为4, A=B=D=0,C=4,(即0.0.4.0) 
4、伪元素和标签元素的个数就是第四位的值 
p:first-letter,有一个标签元素p和伪元素first-letter,值为2,A=B=C=0,D=2(即0.0.0.2) 
5、通配符和继承得到的CSS属性对权重没有影响 
三、几个示例 
针对以上,看以下几个示例 
1、.a .b .c {color:red;} //0.0.3.0 说明:只有三个类 
2、*{…} //0.0.0.0 说明:通配符对权重没有影响 
3、.a .b a {color:green} //0.0.2.1 说明:两个类和一个标签 
4、#hid {color:black;} //0.1.0.0 说明:只有一个ID
“如何理解权重和层叠规则决定了CSS样式优先级”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。