css的权值小记

277 阅读2分钟

一、前言

最近接手了一个旧项目,好家伙,css这方面我是真服了这个老六,样式基本都是全局样式,还这写一处,那写一处的,类名基本上也是默认的element组件名,最可恨的还是 !important这个属性的滥用。导致我在页面写的很多样式都被强制覆盖了,所以今天就来盘点下css的权值。

二、css的权值

1、css权值的作用

css的权值,说白了就是优先级,如果网页元素只有一个样式,那就无所谓权值,

但如果有多个相同的样式同时作用到一个网页元素上,那权值的作用就体现出来了,

权值高者,浏览器就显示这个权值对应的css样式。

2、权值的等级和计算

权值基本上可以分成好几个等级,按等级来计算权重值。

1、!important

 用法是跟在样式后面
 
 权值+10000,是最高的权重,万恶之源,非必要情况建议少用     

2、内联样式

 用法是  style="样式内容" ,直接写在html的标签里
 
 权值+1000

3、id选择器

 用法是  #id名
 
 权值+100

4、类、伪类、属性选择器

用法是  .class:hover等

权值 +10

5、标签选择器、伪元素选择器

 用法是  div span :before等等
 
 权值 +1

6、通用选择器、子选择器、相邻选择器、同胞选择器

 用法是 * > + ~
 
 权值 +0

3、权值的规则

 1、同一元素上,权值高者生效;
 
 2、相同选后者,就是如果两个样式的最终权值是相同的,那就是后写的样式生效;
 
 3、伪元素选择器相加起来,不可能大于类选择器;
 
 4、!important(无限大)>行内样式(权重1000)>id选择器(权重100)>类选择器(10)
 =伪类选择器(10)=属性选择器(10)>元素选择器(1)>通用选择器(0)>继承的样式>浏览器默认的样式。
 

三、小结

只有清楚了样式的权值计算,对于我们前端来说,写起页面来才会得心应手。

不过 !important还是建议少用。

而全局样式不是说不能用,而是建议统一规划,按定好的标准或者类别集中起来管理,这样开发起来才会条条不紊,思路清晰。

PS: 我是地霊殿__三無,希望对你有所帮助。

Snipaste_2022-07-19_15-30-26.jpg