特指度和层叠

4 篇文章 0 订阅

特指度

特指度是指不同样式的‘权重’,例如:

  • 指向ID的样式声明对应的特指度为“0,1,0,0”
  • 指向类名和属性值的特指度为“0,0,1,0”
  • 元素和伪元素(:link,:after等)的特指度为“0,0,0,1”
  • 行内样式(在标签内部声明的样式)的特指度为“1,0,0,1”
  • 通配符的样式是0特指度
  • 通过继承获得样式的是无特指度的

特指度是可以叠加的,当多个规则对应的同一个样式的话,就会根据特指度的大小进行选择(大的优先)

层叠

当多个规则的特指度相同时,就需要根据层叠的准则:

  • 找到匹配特定元素的所有规则
  • 存在 !important声明的样式大于其他不存在 !important的样式。当存在多个 !important, 行内样式大于其他。
  • 导入的样式表放在当前样式表中所有声明的前面
  • 按照特指度排序应用到特征元素上的所有声明。特指度高的具有较高权重
  • 当两个样式的来源、显示权重(!important)和特指度相同的话,根据样式表中前后位置选择,靠后的胜出。

参考 《ES6标准入门》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值