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

标准的回答

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; 
}
相关推荐
future_studio19 分钟前
聊聊 Unity(小白专享、C# 小程序 之 日历、小闹钟)
前端·html
Yeats_Liao44 分钟前
Go Web 编程快速入门 · 04 - 请求对象 Request:头、体与查询参数
前端·golang·iphone
祈祷苍天赐我java之术1 小时前
Redis 数据类型与使用场景
java·开发语言·前端·redis·分布式·spring·bootstrap
草莓熊Lotso2 小时前
C++ 方向 Web 自动化测试入门指南:从概念到 Selenium 实战
前端·c++·python·selenium
Olrookie2 小时前
若依前后端分离版学习笔记(二十)——实现滑块验证码(vue3)
java·前端·笔记·后端·学习·vue·ruoyi
533_3 小时前
[vue] dayjs 显示实时时间
前端·javascript·vue.js
故事与他6453 小时前
XSS_and_Mysql_file靶场攻略
前端·学习方法·xss
莫的感情4 小时前
下载按钮点击一次却下载两个文件问题
前端
一个很帅的帅哥4 小时前
JavaScript事件循环
开发语言·前端·javascript
小宁爱Python4 小时前
Django Web 开发系列(二):视图进阶、快捷函数与请求响应处理
前端·django·sqlite