css属性值的计算过程,层叠规则,a元素的属性值计算

属性值的计算过程

一个一个元素依次渲染,顺序按照页面文档的树形目录结构进行。

渲染每个元素的前提条件:该元素的所有css属性都必须有值。

一个元素,css属性从无到有,这个计算过程叫属性值的计算过程。

css无属性值 ——> 每个属性都有值

  1. 确定声明值

参考样式表(作者样式表和浏览器默认样式表)中没有冲突的声明,作为css属性值。

  1. 层叠冲突

对样式表有冲突的声明使用层叠规则,确定css属性值。

  1. 使用继承

对仍然没有值的属性,若可以继承,则继承父元素的值。

  1. 使用默认值

对仍然没有值的属性,使用默认值。

层叠

声明冲突:同一样式,多次应用到同一元素。

层叠:解决声明冲突的过程,浏览器自动处理(权重计算)。

层叠,可用于不修改代码,覆盖样式,便于复原,特殊日子特殊皮肤啥的。

1. 比较重要性

重要性从高到低:

作者样式表:开发者书写的样式,我们写的样式表。

1) 作者样式表中的 !important样式,建议不使用。

2) 作者样式表的普通样式表。

3 ) 浏览器的默认样式。

2. 比较特殊性

看选择器

总体规则特殊选择器选中的范围越窄,越特殊,覆盖。元素选择器最小。

具体规则:通过选择器,计算出一个4位数(xxxx)。

  1. 千位,如果是内联样式,千位为1,否则为0。内联样式慎用。

  2. 百位,等于选择器中所有id选择器的数量。通常页面上只出现一次。

  3. 十位,看类选择器,属性选择器,伪类选择器的数量。

  4. 个位:等于选择器中所有元素选择器,伪元素选择器的数量。

3. 比较原次序

代码书写靠后胜出。

## 例子a元素

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>属性值的计算</title>
    <style>
      div
       {color: red;}
    </style>
</head>
<body>
    <div>
        <a href="#" >百度一下</a>
        <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Aut dolores atque molestias ex consequatur esse adipisci, neque officiis sit libero explicabo excepturi expedita iste omnis modi corporis ducimus pariatur saepe?</p>
    </div>
</body>
</html>

在这里插入图片描述
看该图片中的a元素求color属性的值时,按属性值的计算过程第一步确定声明值,a元素无作者样式表(即没有在代码中写a{}),而看图的红圈里有浏览器默认声明则确定a元素的颜色样式,后面的层叠继承啥的根本到不了这一步。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值