计算选择器的权重

下面的代码,文字显示什么颜色?

<style>
#red {
    color: red;
}
.yellow {
    color: yellow;
}
p.yellow {
    color: black;
}
</style>
<p id="red" class="yellow">颜色</p>

文字是红色的,即便黄色,黑色定义在红色之后,但是id定义的样式权重高,因此显示id定义的颜色。

计算选择器的权重规则:

  • 如果样式来自标签style属性,那么权重加1000;
  • 如果来自id定义的,那么权重加100*数量;
  • 如果来自其它属性、类和伪类,那么权重加10*数量;
  • 如果来自元素名和伪元素的数量,那么权重加1*数量;

注意:通用选择器(),子选择器(>)和相邻同胞选择器(+)并不在这四个规则中,所以他们的权值都为0。*

权重的计算示例:

选择器 权重
* {} 0
li{} 1
li:first-line{} 2
ul li {} 2
ul ol+li {} 3
h1 + *[rel=up]{} 11
ul ol li.red{} 13
li.red.level {} 21
#red{} 100
style="" 1000

如果权重一样大,后面的样式覆盖前面的样式。否则,显示权重大的样式规则。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,800评论 19 139
  • 简介网络浏览器很可能是使用最广的软件。在这篇入门文章中,我将会介绍它们的幕后工作原理。我们会了解到,从您在地址栏输...
    wengjq阅读 6,483评论 2 15
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 简介浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.c...
    听风阁阅读 8,528评论 0 7
  • 转载说明 一、介绍 浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工作原理,我们将看到,从你在地址栏输入g...
    17碎那年阅读 7,122评论 0 22