css选择器的优先级和权重问题

CSS选择器的种类:
1.id选择器如:(id=”name”,id=”name_txt)(*name)
2.class选择器(如:class=”head”,class=”head_logo”)(#head)
3.标签选择器(如:body,div,p,h1,form)
4.全局选择器(如:*号)
5.组合选择器(如:.head .head_logo,注意两选择器用空格键分开)
6.继承选择器(如:div p,注意两选择器用空格键分开)
7.伪类选择器(如:就是链接样式,a元素的伪类,4种不同的状态:link、visited、active、hover。)
CSS的优先级
选择器的优先级分为两种情况,第一种是选择器在同一级别的情况下,第二种是选择器在不同级别的情况下
不同选择器级别:
1.在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式。
作为style属性写在元素内的样式
2.id选择器
3.类选择器
4.标签选择器
5.通配符选择器
6.浏览器自定义或继承
总结:!important > 行内样式>ID选择器 > 类选择器 > 标签 > 通配符 > 继承 > 浏览器默认属性
2.同一级别的选择器的优先级:
同一级别中后写的会覆盖先写的样式
CSS选择器的权重分析:
第一等:代表 内联样式,如: style=””,权值为:1000。
第二等:代表 ID选择器,如:#content,权值为:0100。
第三等:代表 类,伪类和属性选择器,如: .content , :hover , [type="text"] 权值为:0010。
第四等:代表 标签选择器和伪元素选择器,如:  p ,::first-line 权值为:0001。
通配符、子选择器、相邻选择器等的。如: *、>、+,权值为:0000。
继承的样式没有权值,通配选择器定义的规则优先级高于元素继承过来的规则的优先级。
最后比较特殊的一个标志!important(权重),它没有特殊性值,但它的优先级是最高的,为了方便记忆,可以认为它的特殊性值为1,0,0,0,0。

猜你喜欢

转载自blog.csdn.net/Hhjian524/article/details/82744101