CSS优先级:
所谓CSS优先级,即是指CSS样式在浏览器中被解析的先后顺序。
''' 样式表中的特殊性描述了不同规则的相对权重,它的基本规则是: 1 内联样式表的权值最高 style=""-------------------1000; 2 统计选择符中的ID属性个数。 #id -------------100 3 统计选择符中的CLASS属性个数。 .class -------------10 4 统计选择符中的HTML标签名个数。 p --------------1 '''
按这些规则将数字符串逐位相加,就得到最终的权重,然后在比较取舍时按照从左到右的顺序逐位比较。
附加说明:
''' 1、文内的样式优先级为1,0,0,0,所以始终高于外部定义。这里文内样式指形如<div style="color:red>blah</div>的样式,而外部定义指经由<link>或<style>卷标定义的规则。 2、有!important声明的规则高于一切。 3、如果!important声明冲突,则比较优先权。 4、如果优先权一样,则按照在源码中出现的顺序决定,后来者居上。 5、由继承而得到的样式没有specificity的计算,它低于一切其它规则(比如全局选择符*定义的规则)。 '''
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="keywords" content="css的选择器优先级"> <meta name="description" content="study"> <meta http-equiv="Refresh" content="1800;https://www.baidu.com"> <meta http-equiv="x-ua-compatible" content="IE=EmulateIE7"> <title>css的选择器优先级</title> <link rel="stylesheet" href="day107.css"> <link rel="icon" href="https://www.baidu.com/favicon.ico"> <!--<script src="js.js"></script>--> </head> <body> <div class="div1" id="id1" style="color: blue">优先级</div> <div class="div2" id="id2"> <div class="div3"> <div class="div4"> 内嵌优先级 </div> </div> </div> </body> </html>
/*.div1{*/ /* color: red;*/ /*}*/ /*div{*/ /* color: yellow;*/ /*}*/ /*#id1{*/ /* color: darkviolet;*/ /*}*/ #id2 .div4{ color: red !important; } /*权重相加等于110,有!important声明的规则高于一切,如果!important声明冲突,则又比较优先权*/ #id2 .div3 div{ color: yellow; } /*权重相加等于111*/ #id2 .div3{ color: green; } /*权重等于110,但此时涉及到继承,所以和上面的110又不一样了*/