首页 > Web开发 > 详细

CSS 优先级和特指度

时间:2019-04-07 18:02:27      阅读:124      评论:0      收藏:0      [点我收藏+]

1、ID 选择符 > 类选择符 > 元素选择符。特指度高的优先级高

2、行内样式 > 内嵌样式 > 链接样式

3、设定的样式 > 继承的样式


特指度的计算:

特指度能够用一个公式 I-C-E 来计算,当中

I 是 ID

C 是 Class

E 是 Element

对于一个 CSS 规则,若选择符中有一个 id,则 I 的值 +1。若选择符中有一个 class ,则 C 的值 +1;若选择符中有一个 element,则 E 的值 +1。

最后。从 I 的值開始比較,比較的规则例如以下伪代码所看到的:

if(a.I > b.I){
    a 的优先级高
}
else if(a.I < b.I){
    b 的优先级高
}
else{
    if(a.C > b.C){
        a 的优先级高
    }
    else if(a.C < b.C){
        b 的优先级高
    }
    else{
        if(a.E > b.E){
            a 的优先级高
        }
        else if(a.E < b.E){
            b 的优先级高
        }
        else{
            if(a 先于 b 出现){
                b 的优先级高
            }
            else{
                a 的优先级高
            }
        }
    }
}

比如:

<div id="redText">
    <p>red</p>
    <p id="greenText">green</p>
</div>

<style>
    #redText p{
        color: red;
    }
    #greenText{
        color: green;
    }
</style>

如上样例所看到的。尽管 greenText 的设置是在后面,但并没有覆盖前面的样式,最后的结果是两个文本都是红色的

我们计算一下两个样式的特指度:

1、#redText p ? ? 这个选择符中出现了一次 ID 和一次 Element,所以特指度是 1-0-1

2、#greenText ? ? ?这个选择符中仅仅出现了一次 ID,所以特指度是 1-0-0

所以第一个的优先级高,不会被后者覆盖



CSS 优先级和特指度

原文:https://www.cnblogs.com/mqxnongmin/p/10666166.html

(0)
(0)
   
举报
评论 一句话评论(0
分享档案
最新文章
教程昨日排行
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!