为什么用户代理样式表是最后一个要应用的样式表?

Gol*_*hip 2 css

我看过一个答案,其中谈到了如何在网页中应用样式表的顺序。

我正在学习认证,我遇到了这个问题:

问题:
您正在使用 HTML5 和 CSS3 创建应用程序。页面的样式源自五个样式表。样式未正确应用于应用程序中的页面。您需要确定浏览器应用样式表的顺序。这五个样式表将按什么顺序应用?要回答,请将样式表类型从样式表类型列表移动到回答区域,并按应用顺序排列它们。

用户代理样式表
用户普通样式表
作者普通样式表
作者重要样式表
用户重要样式表

回答:

用户普通样式表
作者普通样式表
作者重要样式表
用户重要样式表
用户代理样式表

为什么“用户代理样式表”是最后一个要应用的?它不是第一个,因为它是浏览器默认样式表吗?

Adi*_*aza 7

@GoldShip,答案在这里:

http://www.w3.org/TR/2011/REC-CSS2-20110607/cascade.html#cascade

引用上面的链接:

6.4.1 级联顺序

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

  1. 对于目标媒体类型,查找适用于相关元素和属性的所有声明。如果关联的选择器与相关元素匹配,并且目标媒体与包含声明的所有 @media 规则以及到达样式表的路径上的所有链接上的媒体列表匹配,则声明适用。

  2. 根据重要性(正常或重要)和来源(作者、用户或用户代理)排序。按优先级升序排列:

    1. 用户代理声明
    2. 用户正常声明
    3. 作者正常声明
    4. 作者重要声明
    5. 用户重要声明
  3. 按选择器的特殊性对具有相同重要性和来源的规则进行排序:更具体的选择器将覆盖更通用的选择器。伪元素和伪类分别算作普通元素和类。
  4. 最后,按指定的顺序排序:如果两个声明具有相同的权重、来源和特异性,则指定的后者获胜。导入的样式表中的声明被视为在样式表本身的任何声明之前。