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



我看过一个关于样式表在网页中的应用顺序的回答。

我正在学习一个认证,我面临这样的问题:

问题:
您正在使用HTML5和CSS3创建应用程序。的样式为页面派生自五个样式表。风格不是正确应用于应用程序中的页面。你需要控件应用样式表的顺序浏览器。这五个样式表应用的顺序是什么?来答案是,从样式表类型列表中移动样式表类型到答案区,并按他们的顺序排列应用。

user agent style sheets
user normal style sheets
author normal样式表
author important样式表
user important样式表

答:

user normal style sheets
author normal style sheets
author重要样式表
user重要样式表
user agent样式表

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

@GoldShip,答案就在这里:

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

引用上面的链接:

6.4.1级联顺序

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

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

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

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

最新更新