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

问题描述 投票:0回答:1

我看过answer ,它讨论了样式表在网页中的应用顺序。

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

问题:您正在使用HTML5和CSS3创建应用程序。风格这些页面来自五个样式表。风格不是正确地应用于应用程序中的页面。你需要确定样式表将被应用的顺序浏览器。五个样式表将以什么顺序应用?至答案,从样式表类型列表中移动样式表类型到答案区域,并按顺序排列它们已应用。

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

答案:

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

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

html css css-specificity
1个回答
6
投票

@ 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. 通过选择器的特异性对具有相同重要性和起源的规则进行排序:更具体的选择器将覆盖更通用的选择器。伪元素和伪类分别计为普通元素和类。
  • 最后,按指定的顺序排序:如果两个声明的权重,来源和特异性相同,则后一个指定为准。导入的样式表中的声明被视为在样式表本身中的任何声明之前。
  • © www.soinside.com 2019 - 2024. All rights reserved.