加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

CSS特指度表示什么,特指度写法要注意哪些

发布时间:2023-09-20 09:34:21 所属栏目:语言 来源:
导读:这篇文章我们来了解“CSS特指度表示什么,特指度写法要注意什么”的内容,小编通过实际的案例向大家展示了操作过程,简单易懂,有需要的朋友可以参考了解看看,那么接下来就跟随小编的思路来往下学习吧,希
这篇文章我们来了解“CSS特指度表示什么,特指度写法要注意什么”的内容,小编通过实际的案例向大家展示了操作过程,简单易懂,有需要的朋友可以参考了解看看,那么接下来就跟随小编的思路来往下学习吧,希望对大家学习或工作能有帮助。

前言

Q:如果多个规则匹配同一个元素,而且部分声明之间有冲突,那么我们如何知道哪个规则胜出呢?

A:用户代理会计算每个规则中选择符的特指度,然后将其依附到规则中的每个声明上。如果两个或多个属性声明有冲突,特指度最高的声明胜出。而为了计算特指度,用户代理必须把规则“打散”成单独的规则

例如:h1 { color: silver; background: black; } 将变成以下形式。二者的特指度都是 0,0,0,1 ,赋予每个声明的值就是它

h1 { color: silver; } 
h1 { background: black; }
3.1 特指度
特指度(或权值):表示一个css选择器表达式的重要程度

选择符的特指度由选择符本身的组成部分决定。一个特指度值由四部分构成,例如:0,0,0,0

重要声明[1]    行内样式    ID选择符    Class[2]    Element[3]    通用选择符
特指度值    优先级最高    1,0,0,0    0,1,0,0    0,0,1,0    0,0,0,1    0,0,0,0
重要声明注意:

重要声明要在声明末尾的分号之前插入 !important 。!important 的位置必须正确,否则声明将失效 带有 !important 的声明对特指度没有影响,但它会与不重要的声明分开处理
所有带 !important 的声明会放在一起,而特指度冲突就在这个范围内解决
非重要的声明作为一个整体,其中的冲突使用特指度解决
当重要声明和非重要声明冲突时,重要声明始终胜出

特指度写法注意:

特指度值是从左向右比较的。特指度 1,0,0,0 比所有以 0 开头的特指度大,不管后面的数字有多大 通用选择符不增加特指度,它的特指度是 0,0,0,0 ,这与没有特指度是不同的 连接符没有特指度,即连零都没有。

3.2 继承

继承:是指把一个元素的某些属性值传给其后代的机制。

把声明应用到可以继承的元素上后,那个元素将使用声明的样式渲染;这个值继续沿着树状图向下传播到后代元素,直到没有后代为止 属性值绝不向上传播,即元素的样式绝不传给祖辈元素 在HTML中,向上传播规则有个例外:应用到body元素上的背景样式会传给HTML元素。HTML时文档的根元素,用于定义渲染文档的画布。这一例外仅发生在为body元素设定了背景,而没有为html元素定义背景的情况下。

注意事项:

很多属性是不继承的,这通常是为了避免得到意外的结果 继承的值没有特指度,连零都没有。

案例:因为通用选择符应用于全部元素,而且特指度为零,所以它声明的颜色gray击败继承的颜色black(由于继承的值没有特指度),因此,em元素渲染为灰色,而不是黑色。

* { color: gray; }
h1#page-title { color: black; }

<h1 id="page-title">
    Meerkat    <em>Central</em>
</h1>
<p>Welcome to the best place on the web for meerkat information!</p>

3.3 层叠

层叠:是一种样式在文档层次中逐层叠加的过程,目的是让浏览器面对某个标签特定属性值的多个来源,确定最终使用哪个值。

 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章