CSS 选择器的优先级算法

简介: 在CSS中,选择器的优先级由四个级别和各级别的出现次数决定**。这四个级别分别为:行内选择符、ID选择符、类别选择符、元素选择符,优先级依次降低。

在CSS中,选择器的优先级由四个级别和各级别的出现次数决定。这四个级别分别为:行内选择符、ID选择符、类别选择符、元素选择符,优先级依次降低。

001.png

具体计算规则如下

  • 每个规则对应一个初始的“四位数”:0、0、0、0。
  • 若是行内选择符,则加1、0、0、0。
  • 若是ID选择符,则加0、1、0、0。
  • 若是类选择符/属性选择符/伪类选择符,则分别加0、0、1、0。
  • 若是元素选择符/伪元素选择符,则分别加0、0、0、1。

根据以上规则,将每条规则中选择符对应的数相加后得到的“四位数”,从左到右进行比较,大的优先级越高。需要注意的是,!important用于优先级提升,其优先级比行内样式还要高。

示例说明:

为了更好地理解这些计算规则,下面将提供一些代码实例来说明:

  • 选择器p + span选择p元素的下一个span元素,优先级为110。
  • 选择器p ~ span选择p元素后面的所有span元素,优先级为110。
  • 选择器p > strong选择p元素的直接子元素strong,优先级为111。
  • 选择器.myClass + strong选择具有myClass类的p元素的下一个strong元素,优先级为111。
  • 选择器.myClass ~ strong选择具有myClass类的p元素后面的所有strong元素,优先级为111。
  • 选择器p strong选择p元素中的所有strong元素,优先级为101。

在实际应用中,可以根据需要灵活使用不同类型的选择器,并结合优先级规则来达到预期的样式效果。

相关文章
|
22天前
|
XML 前端开发 数据格式
css核心组成部分包括选择器、属性和值。
【4月更文挑战第5天】css核心组成部分包括选择器、属性和值。
18 7
|
1月前
|
前端开发 算法
CSS语言的层叠和优先级
CSS语言的层叠和优先级
|
1月前
|
前端开发
CSS语言的选择器
CSS语言的选择器
|
1月前
|
前端开发
web前端开发---CSS基础选择器
web前端开发---CSS基础选择器
20 1
|
11天前
|
移动开发 前端开发 JavaScript
CSS选择器 前端开发入门笔记(十)
CSS选择器 前端开发入门笔记(十)
19 1
|
18天前
|
资源调度 分布式计算 算法
【Hadoop Yarn】Hadoop Yarn 基于优先级的调度算法
【4月更文挑战第7天】【Hadoop Yarn】Hadoop Yarn 基于优先级的调度算法
N..
|
1月前
|
前端开发 UED
CSS选择器
CSS选择器
N..
9 0
|
1月前
|
前端开发
css选择器
css选择器【2月更文挑战第26天】
25 12
|
1月前
|
前端开发 JavaScript 开发者
前端的CSS选择器
前端的CSS选择器
23 1
|
1月前
|
前端开发 开发者
掌握CSS中的常见选择器
掌握CSS中的常见选择器
34 0