当前位置: 首页 > news >正文

CSS 选择器优先级,!important 也会被覆盖?

目录

  • 1,重要性
  • 2,专用性
  • 3,源代码顺序

CSS 属性值的计算过程中。其中第2步层叠冲突只是简单说明了下,这篇文章来详细介绍。

层叠冲突更广泛的被称为 CSS选择器优先级计算

为什么叫层叠冲突,可以理解为 CSS 是 Cascading Style Sheets 的缩写,这里面有层叠(cascade)的概念。

选择器会进行组合,所以才有了优先级规则。主要有3个规则,前一种会直接否决后一种。

1,重要性

只有一条规则: !important,总是优先于其他规则。

但我在张鑫旭老师的著作《CSS世界》中发现,就最终结果而言,!important 也有可能会被覆盖!那就是 max-widthmax-height

示例

<style>.box {width: 200px !important;max-width: 100px;height: 100px;background-color: salmon;}
</style><div class="box"></div>

表现:

在这里插入图片描述

!important 需要谨慎使用,会对维护造成困难。

2,专用性

用来衡量选择器的具体程度,主要是指它能匹配多少元素,匹配的越少专用性越高

基础专用性(优先级):行内样式 > id选择器 > class选择器 > 元素选择器。

而选择器组合后需要更精细的来衡量,也就是权重

  • 千位:如果声明在 style 属性中,该列加 1 分(相当于没有选择器,所以它们的专用性总是 1000)否则为 0
  • 百位:在整个选择器中每包含一个 ID 选择器,该列就加 1 分。
  • 十位:在整个选择器中每包含一个类选择器、属性选择器、或者伪类,该列就加 1 分。
  • 个位:在整个选择器中每包含一个元素选择器或伪元素,该列就加 1 分。
选择器千位百位十位个位合计值备注
h100010001
#id01000100
h1 + p::first-letter00030003
li > a[href*=” zh-CN”] > .box00220022元素选择器是 li 和 a
内联样式10001000

注意点

  1. 进制是 256 进制,不是10进制(这个无法求证,参考其他文章的)。
  2. 通配符选择器(*), 复合选择器(+、>、~、空格)和否定伪类(:not)在专用性中无影响

3,源代码顺序

如果选择器有相同的重要性和专用性,则看源代码顺序。


以上。

http://www.lryc.cn/news/250947.html

相关文章:

  • 关于src别名的配置之tsconfig.json配置
  • Mybatis如何执行批量操作
  • LeetCode 1094. 拼车:优先队列
  • 项目开发维护技术文档(总结梳理)
  • 01_学习使用javax_ws_rs_上传文件
  • MFC 发布CLXHHandleEngine动态库1.0.0.0版本
  • MicroPython 基于microdot框架搭建网页服务器
  • FL Studio21.2汉化永久中文语言包
  • Glide结合OkHttp保证短信验证接口携带图形验证码接口返回Cookie值去做网络请求
  • 怎样用Ajax提交from表单并接收其中的json数据
  • 【动态规划】LeetCode-746LCR 088.使用最小花费爬楼梯
  • Unity 接入TapADN播放广告时闪退 LZ4JavaSafeCompressor
  • 【九】linux下部署frp客户端服务端实践(内网穿透)
  • 华为1+x网络系统建设与运维(中级)-练习题2
  • 自定义类型-结构体,联合体和枚举-C语言
  • Windows 安装redis,设置开机自启动
  • Windows安装Mysql Workbench及常用操作
  • 【计算机网络】15、NAT、NAPT 网络地址转换、打洞
  • 【送书活动三期】解决docker服务假死问题
  • 【每日一题】拼车+【差分数组】
  • 【开源】基于JAVA的农村物流配送系统
  • 7、Jenkins+Nexus3+Docker+K8s实现CICD
  • 解决git action发布失败报错:Error: Resource not accessible by integration
  • [传智杯 #2 决赛] 补刀
  • C语言:求Sn=a+aa+aaa+aaaa+……(n个a)之值,其中a表示一个数字,n表示a的位数,n由键盘录入。
  • 【nlp】4.1 fasttext工具介绍(文本分类、训练词向量、词向量迁移)
  • Spring中的事务管理
  • 量子光学的进步:光子学的“下一件小事”
  • 微信小程序获取定位显示在百度地图上位置出现偏差
  • 【LeetCode 0170】【哈希】两数之和(3) 数据结构设计