标准的回答
javascript
CSS样式的优先级应该分成四大类
第一类 !important:
😄无论引入方式是什么,选择器是什么,它的优先级都是最高的。
第二类 引入方式:
😄行内样式的优先级要高于嵌入和外链,嵌入和外链如果使用的选择器相同就看他们在页面中插入的顺序,在后面插入的会覆盖前面的。
第三类 选择器
😄选择器优先级:id选择器>(类选择器 | 伪类选择器 | 属性选择器 )> (后代选择器 | 伪元素选择器 )> (子选择器 > | 相邻选择器) > 通配符选择器 。
第四类 继承样式
😄是所有样式中优先级比较低的。
第五类 浏览器默认样式
😄优先级最低
加分回答:
1.使用!important要谨慎:
① 定要优先考虑使用样式规则的优先级来解决问题而不是 !important
② 只有在需要覆盖全站或外部 CSS 的特定页面中使用 !important
③ 永远不要在你的插件中使用 !important
④ 永远不要在全站范围的 CSS 代码中使用 !important
2.优先级的比较 指的是相同的样式属性,不同样式属性优先级比较失效
比如:在设置max-width时注意,已经给元素的max-width设置了!important但是还不生效,很有可能就是被width覆盖了
举例:div最终的宽度还是200px
javascript
div {
max-width: 400px !important;
height: 200px;
background-color: tomato;
width: 200px;
}