css样式优先级
多重样式优先级:如果外部样式、内部样式和内联样式同时应⽤于同⼀个元素,就是使多重样式的情况。⼀般情况下,优先级如下:
(内联样式)Inline style >(内部样式)Internal style sheet >(外部样式)External style sheet
有个例外的情况,就是如果外部样式放在内部样式的后⾯,则外部样式将覆盖内部样式。
css选择器权重计算⽅式⼀:
将特殊性分为4个等级
a.第⼀等,⾏内样式,权值为1000
b.第⼆等,id选择器,权值为100
c.第三等,class选择器,权值10
d.第四等,类型选择器和伪元素选择器,权值为1
通⽤选择器(*),⼦选择器(>)和相邻同胞选择器(+)并不在这四个等级中,所以他们的权值都为0。
But,这个计算⽅式其实是有点问题的。。。
正确的计算⽅式如下所⽰:
CSS选择器权重计算⽅式⼆:
1.A:如果是⾏内样式,A=1,否则A=0;
2.B:计算该选择器中ID的数量。
3.C:计算该选择器中class、伪类、属性选择器等的数量。
css 属性选择器4.D:计算该选择器中伪元素及标签的数量。
计算权重值时,A,B,C,D四组值,从左到右,分组⽐较。如果A相同,⽐较B,如果B相同,⽐较C,如果C相同,⽐较D,如果D相同,后定义的优先。
举个栗⼦:样式⼀:body header div navulli div p a span em {color: red}
样式⼆:.count {color: blue}
按照计算⽅法⼀,样式⼀的权重值是11,样式⼆的权重值是10,如果这两条规则⽤于同⼀个元素,则该元素应该是红⾊,实际结果却是蓝⾊。
CSS 优先级法则:
A 选择器都有⼀个权值,权值越⼤越优先;
B 当权值相等时,后出现的样式表设置要优于先出现的样式表设置;
C 创作者的规则⾼于浏览者:即⽹页编写者设置的CSS 样式的优先权⾼于浏览器所设置的样式;
D 继承的CSS 样式优先级低于后来指定的CSS 样式;
E 在同⼀组属性设置中标有“!important”规则的优先级最⼤。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论