CSS中的规则顺序或顺序是否重要?

时间:2009-07-07 15:59:58

标签: css

CSS中规则的顺序或顺序是否显着?

这篇文章说它很重要:Order of CSS rules matters!!!!!!!!!!

我在CSS规范中没有注意到这一点。

如果两个规则具有相同的特异性,那么Calculating a selector's specificity是否{ - 3}}说两个规则中的较晚规则(即在前一个规则之后定义的规则)是有效规则吗? / p>

5 个答案:

答案 0 :(得分:9)

订单确实很重要。如果特异性相等,则稍后声明的规则将胜出。请参阅规范中的Cascading Order

  

...最后,按指定顺序排序:如果两个声明具有相同的权重,来源和特异性,则后者指定获胜。导入样式表中的声明被认为是在样式表本身中的任何声明之前。

答案 1 :(得分:5)

你的假设是正确的。稍后定义的CSS规则会覆盖先前的定义,除非该规则的特定性不如前一个。

要更清楚“覆盖”这个词:它增加了以前的风格。如果后来的规则未指定特定样式,则第一个规则仍然有效。

答案 2 :(得分:3)

如果在同一个css文件中有两个冲突规则,则最后一个将占优势。

答案 3 :(得分:3)

如果您在发布的规格页面上向上滚动一下,则会转到this

6.4.1级联订单

要查找元素/属性组合的值,用户代理必须应用以下排序顺序:

  1. 查找适用于目标媒体类型的相关元素和属性的所有声明。如果关联的选择器与相关元素匹配且目标媒体与包含声明的所有@media规则上的媒体列表以及到达样式表的路径上的所有链接匹配,则声明适用。
  2. 根据重要性(正常或重要)和来源(作者,用户或用户代理)进行排序。按升序排列:
    1. 用户代理声明
    2. 用户正常声明
    3. 作者正常声明
    4. 作者重要声明
    5. 用户重要声明
  3. 根据选择器的特异性对具有相同重要性和来源的规则进行排序:更具体的选择器将覆盖更一般的选择器。伪元素和伪类分别计为普通元素和类。
  4. 最后,按指定顺序排序:如果两个声明具有相同的权重,来源和特异性,则后者指定获胜。导入样式表中的声明被认为是在样式表本身中的任何声明之前。

答案 4 :(得分:2)

6.4.1 Cascading order中指定。它比订单稍微复杂一些,因为还有“!important”和“用户与作者”规则之类的考虑因素。特殊性和级联一起工作。