css的优先级与权重(重点)
目的: 在定义css样式时,经常会出现多个规则应用在同一个元素上,这时会出现优先级问题.
直接总结:
css特殊性(specificity):用一个四位的数字串来表示,值从左到右,左做大,一级比一级大,数位之间没有进制关系.
继承或者* 的贡献值 | 0,0,0,0 |
---|---|
每个元素(标签)贡献值为 | 0,0,0,1 |
每个类,伪类贡献值为 | 0,0,1,0 |
每个ID贡献值为 | 0,1,0,0 |
每个行内样式贡献值 | 1,0,0,0 |
每个!important贡献值 重要的 | ∞ 无穷大 |
权重可以叠加,但无进制关系.
div ul li ------> 0,0,0,3
.nav ul li ------> 0,0,1,2
a:hover -----—> 0,0,1,1
.nav a ------> 0,0,1,1
#nav p -----> 0,1,0,1
总结:继承来的样式始终优先级最低
权重是优先级的算法,层叠是优先级的表现.
分值相同时,离目标标签最近的样式优先表现,是目标标签.