我所理解的css优先级:当两个或者多个样式作用于同一个元素时,就会出现css优先级的问题。
多重样式优先级:当内联样式、内部样式和外部样式作用于同一个元素时,属于多重样式的范畴。优先级的顺序为内联样式>内部样式>外部样式。
<head> <link href="style.css" rel="stylesheet" type="text/css" /> /*.color{color:red;}外部样式*/ <style>/*内部样式*/ .color{color:black;} <style/> </head> <body> <a href="" class="color" style="color:blue">我爱变色</a> /*内联样式*/ </body> /*不出意外的话,应该显示为蓝色,前提是内部样式要放在外部样式的后面*/
选择器的优先权:不同种类的选择器通过权值来计算其优先权的大小。
权值大小:
1.内联样式权值最高为[1000];
2.id选择器权值为[0100];
3.class、属性、伪类选择器权值为[0010];
4.元素标签、伪元素选择器权值为[0001];
5.通用选择器权值为[0000];
解释:权值是一个4位的数字串,从左到右,一级大于一级,每一级之间没有进制,不可跨越。在进行权值比较的时候,应该从左到由进行比较。
<style type="text/css"> .contain .box p{color:red}/*权值:0010+0010+0001=0021*/ .contain div p{color:black}/*权值:0010+0001+0001=0012*/ </style> <div class="contain"> <div class="box"> <p>颜色</p> </div> </div> /*p标签内容应该为红色*/
CSS 优先级法则:
A 选择器都有一个权值,权值越大越优先;
B 当权值相等时,后出现的样式表设置要优于先出现的样式表设置;
C 创作者的规则高于浏览者:即网页编写者设置的CSS 样式的优先权高于浏览器所设置的样式;
D 继承的CSS 样式不如后来指定的CSS 样式;
E 在同一组属性设置中标有“!important”规则的优先级最大
<style type="text/css"> div{background: red !important; background: blue} </style> /*显示为红色,ie6显示为蓝色,在ie6下,!important跟没用是一样的效果*/
时间: 2024-10-10 16:19:56