浏览器以什么顺序处理css?

时间:2013-07-05 22:04:26

标签: css

我有一个在5个不同位置设置样式的类,浏览器在不同位置的顺序是什么?

  • 内联

     <div class="yellowtag" style="background: yellow;">This is yellow</div>
    
  • 首先处理的css文件

    // First instance inside of style.css
    .yellowtag {
        background: yellow;        
    }
    
  • 第一个处理过的css文件中的黄色标记的第二个实例

    // Second instance inside of style.css
    .yellowtag {
        background: yellow;        
    }
    
  • 第二个处理过的css文件(在第一个.yellowtag规则下面)

    // style2.css
    .yellowtag {
        background: yellow;        
    }
    
  • 在头脑中

    <head>
         <style>
             .yellowtag {
                 background: yellow;        
             }
         </style>
    </head>
    

2 个答案:

答案 0 :(得分:5)

浏览器处理CSS的具体顺序是:

1:内联 - 然后 -

2:样式标签 - 然后 -

3:HTML中定义的第一个CSS文件(从上到下)-then -

4:HTML中定义的第二个CSS文件 - 依此类推 -

因此,如果您在所有四个中都有一个标签,那么应用的标签就是内联样式

然而,在定义属性

时使用!important可以覆盖所有这些

答案 1 :(得分:2)

由于它们都具有相同的特异性(单个类名,.yellowtag),源代码中的最后一个将是适用的。

但是,您有内联样式style="background: yellow;",内联样式会覆盖其他规则,并且不适用特异性

http://reference.sitepoint.com/css/specificity