前端八股文 说一说样式优先级的规则是什么?

标准的回答

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; 
}
相关推荐
勤劳兔码农13 分钟前
从IE到Edge:微软浏览器的演变与未来展望
前端·microsoft·edge
web守墓人23 分钟前
【前端】解决element-ui两层dialog嵌套,遮罩层消失的问题。
前端·ui
茶卡盐佑星_31 分钟前
vue如何解决跨域?原理?
前端·javascript·vue.js
河北小田36 分钟前
十四、模板引用
前端·vue.js·程序员
Clank的游戏栈38 分钟前
Unity3D 场景树与组件化开发详解
前端
前端fighter42 分钟前
表单代码示例
前端·javascript·vue.js
二十雨辰1 小时前
[JS]面向对象ES6
前端·javascript·ajax
GDAL1 小时前
css之transform-origin
前端·css
疯狂创作者1 小时前
十款绚丽的前端 CSS 菜单导航动画
前端·css
秃头女孩y1 小时前
前端之CSS篇--面试题总结
前端·css