什么是特异性?

如果有两条或两条以上指向同一元素的冲突 CSS 规则,则浏览器将遵循一些原则来确定哪一条是最具体的,并因此胜出。

将特异性(specificity)视为得分/等级,能够确定最终将哪些样式声明应用于元素。

通用选择器(*)具有较低的特异性,而 ID 选择器具有较高的特异性

特异性层次

每个选择器在特异性层次结构中都有其位置。以下四种类别定义了选择器的特异性级别:

行内样式 - 行内(内联)样式直接附加到要设置样式的元素。实例:<h1 style="color: #ffffff;">。

ID - ID 是页面元素的唯一标识符,例如 #navbar。

类、属性和伪类 - 此类别包括 .classes、[attributes] 和伪类,例如::hover、:focus 等。

元素和伪元素 - 此类别包括元素名称和伪元素,比如 h1、div、:before 和 :after。

如何计算特异性?

从 0 开始,为 style 属性添加 1000,为每个 ID 添加 100,为每个属性、类或伪类添加 10,为每个元素名称或伪元素添加 1。

请思考以下三个代码片段:

A: h1
B: #content h1
C: <div id="content"><h1 style="color: #ffffff">Heading</h1></div>
  • A 的特异性为 1(一个元素)
  • B 的特异性为 101(一个 ID 引用以及一个元素)
  • C 的特异性为 1000(行内样式)

由于 1 < 101 < 1000,因此第三条规则(C)具有更高的特异性,所以将被应用。

特异性规则 1:

在特异性相同的情况下:最新的规则很重要 - 如果将同一规则两次写入外部样式表,那么样式表中后面的规将更靠近要设置样式的元素,因此会被应用:

h1 {background-color: yellow;}
h1 {background-color: red;}

后一条规则始终适用。

特异性规则 2:

ID 选择器比属性选择器拥有更高的特异性 - 请看以下三行代码:

div#a {background-color: green;}
#a {background-color: yellow;}
div[id=a] {background-color: blue;}

而且,第一条规则比其他两条更具体,因此将被应用。

特异性规则 3:

上下文选择器比单一元素选择器更具体 - 嵌入式样式表更靠近要设置样式的元素。所以在以下情况下:

来自外部 CSS 文件:

#content h1 {background-color: red;}

在 HTML 文件中:

<style>
#content h1 {background-color: yellow;
}
</style>

将适用后一条规则。

特异性规则 4:

类选择器会击败任意数量的元素选择器 - 类选择器(诸如 .intro 会击败 h1、p、div 等):

.intro {background-color: yellow;}
h1 {background-color: red;}

CSS 特异性 specificity相关推荐

  1. CSS 特异性看这篇就行了

    CSS 特异性 背景:在我每次画界面的时候,总会出现样式冲突.样式污染.一级很多样式改不掉的问题.所以总结一文来彻底搞懂css样式的特异性,方便你我他. 什么是css特异性? 如果有多个属性或者选择器 ...

  2. 什么是CSS特异性及其工作方式?

    使用CSS时,样式冲突可能会给您带来麻烦,尤其是当您不知道冲突的来源时. 本教程将使您对CSS的特性有深入的了解,这将有助于填补任何知识空白,从而最终不会使您摆脱沮丧. 注意 :也许您是经验丰富CSS ...

  3. (42)css特异性

    一.什么是特异性? 如果有两条或两条以上指向同一元素的冲突 CSS 规则,则浏览器将遵循一些原则来确定哪一条是最具体的,并因此胜出. 将特异性(specificity)视为得分/等级,能够确定最终将哪 ...

  4. 降低CSS特异性的策略

    保持项目中所有选择器的CSS专用性较低是一个值得追求的目标. 通常,这表明事物处于相对和谐状态. 您并不是在与自己作斗争,并且有足够的空间在需要时覆盖样式. 选择器的特异性会随着时间的流逝而逐渐增加, ...

  5. css零到一中级教程025:CSS 特异性

    什么是特异性? 如果有两条或两条以上指向同一元素的冲突 CSS 规则,则浏览器将遵循一些原则来确定哪一条是最具体的,并因此胜出. 将特异性(specificity)视为得分/等级,能够确定最终将哪些样 ...

  6. 机器学习基础(一)混淆矩阵,真阳性(TP),真阴性(TN),假阳性(FP),假阴性(FN)以及敏感性(Sensitivity)和特异性(Specificity)

    机器学习基础(一) 混淆矩阵 真阳性,真阴性,假阳性,假阴性 敏感性,特异性 混淆矩阵 混淆矩阵如下图:这里以是否有心脏病举例(二分类举例),列代表机器学习算法所做的预测,有心脏病还是没有心脏病,行代 ...

  7. CSS特异性——优先级

    http://www.w3.org/TR/CSS2/cascade.html#specificity 特异性 选择器的特异性由 CSS2 规范定义如下: 如果声明来自于"style" ...

  8. 特异性敏感性的意义_敏感性特异性和有意义的分类

    特异性敏感性的意义 How do we evaluate how well a machine learning classifier or test model performs? How do w ...

  9. CSS Specificity--CSS特性、权重、优先级---CSS specificity规则、

    2019独角兽企业重金招聘Python工程师标准>>> CSS Specificity As mentioned above, CSS styles follow an order ...

最新文章

  1. swift笔记——环境搭建及Hello,Swift!
  2. 扩展屏幕没有连接,但程序窗口还在扩展屏幕上,在看不到这个屏幕的情况下,把程序窗口拉回来的方法
  3. think-in-java(9)接口
  4. 物尽其用-让推荐系统成为你学习的助手
  5. 深入分析同步工具类之AbstractQueuedSynchronizer
  6. 南京趋势科技面试归来
  7. 文成小盆友python-num6 -反射 ,常用模块
  8. Java智能教育平台源码基于 SpringBoot + Mybatis + Shiro + mysql + redis构建,前后端分离。
  9. ROS位置导航基础之坐标变换
  10. Additions HNUST 1713(矩阵快速幂模板 )
  11. 黑马程序员--银行以及交通系统项目个人理解
  12. termux目录_手机学编程(2)目录管理命令
  13. laravel jwt attempt 总是返回false
  14. c语言中算法的有穷性是指,在C语言中,算法的有穷性是指什么?
  15. 【2018慢性病与信息大会】中国通信标准化协会常务副秘书长兼副理事长 代晓慧致辞...
  16. 王者荣耀qq区服务器位置,王者荣耀:qq区单排现状,射手可能是最难的一个位置,为什么?...
  17. 佳能Canon PIXMA iP6000D 打印机驱动
  18. 实时数仓 Kappa 架构与 Lambda 架构对比,优缺点有哪些?
  19. Mac环境 使用 bsdiff 和 bspatch 生成补丁包
  20. hdu5514Frogs 容斥

热门文章

  1. Groovy快速入门指南
  2. python场景动画_昨夜星辰多媒体情景动画
  3. 艺赛旗RPA 第三方库系列(二):提升 pip 工具的下载速度
  4. DP DD VTL 备份 NBU
  5. 一年2k+ star -- GitHub生存之道
  6. JavaScript - for 循环结构 与 数组
  7. 第十三周完成情况 学生选课管理系统 王杰 孙乾 蔚晓青
  8. FMDB - - 归纳整理- Vic_Li
  9. u盘安装linux戴尔boot设置,戴尔台式机bios设置,详细教您如何安装U盘启动
  10. win10系统下Bitlocker密码忘了的具体解决方法