CSS选择器
1、通配符选择器*
2、标签选择器
3、class选择器
4、id选择器
5、属性选择器
6、组合选择器,
,>
,+
,~
7、伪类选择器
什么是权重
每一个css的选择器都有一个相对的重要程度值,也就是权重的值,简称“权值”。
css选择规则的优先级是按照css选择器的权值的比较来确定的。
优先级规则
1、css选择规则的权值不同时,权值高的优先
2、css选择规则的权值相同时,后定义的规则优先
3、css属性后面加 !important 时,无条件绝对优先
权值计算
权值 = 第一等级选择器个数,第二等级选择器个数,第三等级选择器个数,第四等级选择器个数
通用选择器(*),子选择器(>), 相邻同胞选择器(+)等选择器权值都为 0,0,0,0
1、内联样式,权值为 1,0,0,0
2、ID选择器, 权值为 0,1,0,0
3、class | 伪类 | 属性 选择器,如 .class | :hover,:link,:target | [type], 权值 0,0,1,0
4、标签 | 伪元素 选择器,如 p | ::after, ::before, ::fist-inline, ::selection, 权值 0,0,0,1
当两个权值进行比较时,从高到低逐级将等级位上的权重值来进行比较的,而不是简单的总和(1000个数 + 100个数 + 10个数 + 1个数)来进行比较,低等级的选择器,个数再多也不会越等级超过高等级的选择器的优先级。
选择器优先级
1、!important
2、内联样式
3、ID选择器(#id)
4、类选择器(.class) = 伪类选择器(:hover等) = 属性选择器[type等]
5、元素选择器(p等) = 伪元素选择器(:after/:before/::selection等)
6、通用选择器(*)
7、继承的样式
优先级至上而下逐级降低
样式继承
继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代