【发布时间】:2020-03-27 22:38:31
【问题描述】:
根据specs,声明来源的优先级如下(Top 胜):
- 过渡声明 [css-transitions-1]
- 重要的用户代理声明
- 重要的用户声明
- 重要作者声明
- 动画声明 [css-animations-1]
- 普通作者声明
- 普通用户声明
- 普通用户代理声明
我正在尝试验证普通作者声明 (6) 是否胜过普通用户声明 (7),但我认为我得到了相反的结果:
在上面的示例中,我有一个外部 css 文件 (style.css),它将 p 元素的颜色声明为 green。
然后我添加一些用户样式,声明与blue相同的选择器的颜色。
我希望作者声明(绿色)会胜过用户声明(蓝色),但情况恰恰相反。
对正在发生的事情有任何想法吗?也许我在示例中做错了什么?
【问题讨论】:
-
这两个文件的优先级是什么,一个是第一个,一个是第二个
-
如果我没记错的话,作者声明是蓝色的,另一个是用户,不是吗?
-
我们确定通过检查员入侵其他规则算作“用户声明”吗?您引用的文档说,“用户来源 - 用户可能能够为特定文档指定样式信息。例如,用户可以指定一个包含样式表的文件,或者用户代理可以提供一个生成用户样式表的界面(或表现得好像它确实如此)。” - 我不太确定 dev工具在这里符合条件,分别。我认为对此的解释可能会有不同的方式......?
-
@Awais,我首先仅使用 style.css(绿色)加载页面,然后从开发工具中添加了新规则(蓝色)
-
@Temani Afif:不,颜色:绿色是作者级别的。不确定颜色:蓝色,但如果检查器样式表也是作者级别的,我不会感到惊讶。
标签: css css-specificity css-cascade