css计算属性_css属性继承和优先级算法,这回又少个知识点盲区

a75e85ca1b2da0e259563f1e0368b582.png

一、css属性继承

可继承的:

font-size、font-family、color

当元素的一个继承属性(inherited property)没有指定值时,则取父元素的同属性的计算值(computed value)。只有文档根元素取该属性的概述中给定的初始值(initial value)(这里的意思应该是在该属性本身的定义中的默认值)。

不可继承的:

border、padding、margin、background-color、width、height

当元素的一个非继承属性(在Mozilla code 里有时称之为reset property )没有指定值时,则取属性的初始值 initial value(该值在该属性的概述里被指定)。

二、css优先级算法

CSS选择器优先级(特异性)

是指在给HTML元素运用样式时,如果有多个CSS选择器同时指向了这个元素,那么优先级高的选择器的样式将最终运用到这个元素上。

CSS选择器权重计算

9f36f6b01008728ae6f60976a16a0a76.png

在计算权重的时候可以用一组向量标志来表示(0,0,0,0)

(计算的时候就相当于第一位*1000+第二位*100+第三位*10+第四位*1

第一位:行内样式(在有行内样式的时候变成"1"

第二位:ID选择器数量

第三位:Class、属性、伪类选择器的数量

第四位:类型和伪元素选择器数量

如果最后计算权重相同,那么以定义顺序靠后的选择器优先,或者有!important标记优先

695c07ab8c90c229d56b88747a49bad0.png

举个栗子:

我们想要修改“项目2”字体的颜色,此时显示粉色

5dd4e7860fb41ef971d55836c6cda30f.png

还可以添加不同权重的选择器,来提高优先级,所以最终显示蓝色

fc6d402ca6eb006e4394ac6034b98ca0.png

在刚才的基础上再加上一个ID选择器,此时权重变成(0,1,1,1),此时显示黄色

b542f51bd08b4b863205a5da382f165b.png

如果我们再加上一个伪类选择器的话权重变成(0,1,2,1)高于下面的(0,1,1,1),所以此时最终显示的是绿色

bb60078313f9ceca37397f4663309f5e.png

如果权重相同的话,那么是以代码中定义的顺序靠后的选择器优先执行,所以此时显示的还是绿色

05985c74465db1d2f8e15431d4f136e2.png

这里有个小技巧,写两遍选择器,来提高权重,此时(0,1,3,1)高于(0,1,2,1),所以显示红色

3fd89ab8f8104d5c43c5dc536cc9c5d4.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值