欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

css优先级

程序员文章站 2022-05-11 12:45:18
...

计算优先级

优先级是根据由每种选择器类型构成的级联字串计算而成的。他是一个对应匹配表达式的权重。 如果优先级相同,靠后的 CSS 会应用到元素上。

注意:元素在文档树中的位置是不会影响优先级的

优先级顺序

优先级逐级增加的选择器列表:

  • 通用选择器(*)
  • 元素(类型)选择器
  • 类选择器
  • 属性选择器
  • 伪类
  • ID 选择器
  • 内联样式

基于类型的优先级

优先级是根据选择器类型进行计算的. 在下面的例子中,属性选择器尽管选择了一个ID但是在优先级计算法则中还是根据其类型计算。
有如下样式声明:


* #foo {
  color: green;
}
*[id="foo"] {
  color: purple;
}

将其应用在下面的HTML中:


<p id="foo">I am a sample text.</p>

演示例子:https://jsfiddle.net/donqi/vmo5m3re/

选择器优先级一致

优先级相同的情况下,后边定义的会覆盖前边定义的


<div class="box padding border"></div>
<div class="box border padding"></div>
<div class="padding box border"></div>

css:


div{
    height:100px;
    width:100px;
    padding:20px;
    margin:20px;
    border:10px solid hsla(0,0%,0%,0.5);
    background-color:#ccc;
    background-image:url("/favicon.png");
    background-repeat:space;
    background-origin:content-box;
}
div.box{
    
    background-clip:content-box;
}
div.border{
    background-clip:border-box;
}
div.padding{
    background-clip:padding-box;
}

演示例子: https://jsfiddle.net/donqi/wvLpwz48/