层叠与继承

继承与层叠机制

继承

  • 继承(inherit),是指子元素会自动拥有父元素的某些CSS属性。
  • 强制继承:也叫做显式继承,是指将CSS属性值设置为inherit。
  • 强制继承原因:
    • 1、为了继承有些不可继承的属性。
    • 2、为了继承已被声明过的属性。

层叠机制

概念
  • 层叠是一种机制,用于解决声明冲突
  • 当相同属性名不同属性值,应用到同一个元素上就会产生声明冲突,浏览器会自动触发层叠机制
层叠的过程
  • step1、比较优先级
    • 每一个声明都有一个优先级。
    • 优先级低的声明会被淘汰,优先级高的声明胜出。
    • 一个声明的优先级,与它的来源(用户样式表>作者样式表>浏览器)和重要性(属性值后面加上:!important,则表示一条重要声明,否则,表示普通声明。)有关。
    • 优先级比较:用户样式表中的重要声明>作者样式表中的重要声明>作者样式表中的普通声明>用户样式表中的普通声明>浏览器默认样式表中的普通声明
  • step2、比较特殊性(特指度)
    • 每一个声明都有一个优先级。
    • 一个声明的特殊性,取决于规则适用范围的大小。规则适用范围越大,特殊性越低,适用范围越小,特殊性越高。
    • 行内样式>ID选择器>类选择器>元素选择器>通配符选择器
    • 具体规则
      • 在比较特殊性时,每一个冲突的声明,会生成4个数字(a,b,c,d),以此比较特殊性。a越大,特殊性越高,若a相同,则比较b,b越大,特殊性越高,依次类推。
      • a:若声明是行内样式,则为1,否则为0。
      • b:规则中ID选择器的个数。
      • c:规则中类选择器、伪类选择器和属性选择器的个数。
      • d:规则中元素选择器、伪元素选择器的个数。
  • step3、比较源次序
    • 哪个写在后面,就执行哪个。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值