即将参加考试,我正在参加我们之前的考试。
问题:
当两个或多个样式表规则适用于同一个元素时,以下哪种类型的规则将优先?
一种。任何带有浏览器来源的声明
b. 带有用户来源的正常声明
c. 带有作者来源的正常声明
d. 文件级声明
那么答案是c还是d?我猜是 d 因为 c 是一个正常的声明,并不重要,但我无法在任何地方得到明确的答案
干杯
即将参加考试,我正在参加我们之前的考试。
问题:
当两个或多个样式表规则适用于同一个元素时,以下哪种类型的规则将优先?
一种。任何带有浏览器来源的声明
b. 带有用户来源的正常声明
c. 带有作者来源的正常声明
d. 文件级声明
那么答案是c还是d?我猜是 d 因为 c 是一个正常的声明,并不重要,但我无法在任何地方得到明确的答案
干杯
答案是Document-level declaration
,它会将样式应用于在最后一个链接样式表中声明的元素
测试用例
HTML
<html>
<head>
<link href="stylesheet1.css" rel="stylesheet" type="text/css" />
<link href="stylesheet2.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div>hello<!-- Color applied will be green --></div>
</body>
</html>
CSS
stylesheet1.css
div {
color: red;
}
stylesheet2.css
div {
color: green;
}
考试题是不正确的,因为考试题经常是。“文档级声明”这个表述不是一个专有名词,它有多种解释。此外,它使用“正常”这个词并没有具体说明其含义,但您可能猜对了它的意思是“没有!important
”。
答案是“未定”,因为“a”包含一个带有 的浏览器样式表规则!important
,它胜过“b”和“c”(以及“d”,除非它表示可能有的东西!important
),但这样说是不正确的“a”通常胜过其他。编辑:可能会阅读规范,以使浏览器样式表不能具有!important
或对其没有影响,但至少 Firefox html.css 使用!important
(模糊)。
我敢打赌,考试的作者没有想到!important
浏览器样式表中可能存在规则,因此您应该回答“c”。
编辑:选项“d”可能只是为了混淆学生,因为如果它表示嵌入在 HTML 文档中的样式表,它是作者样式表的特例,并且嵌入不会影响级联规则(在嵌入的样式表中) withstyle
和 linked with link
,重要的是 HTML 元素的位置,而不是嵌入的与链接的东西)。
您正在引用CSS Cascading。
所以,从链接
样式表可能有三个不同的来源:作者、用户和用户代理。
并且它们之间的优先级如下
默认情况下,作者样式表中的规则比用户样式表中的规则更重要。> 但是,对于“!important”规则,优先级是相反的。所有用户和作者规则都比 UA 的默认样式表中的规则具有更大的权重。
级联顺序由优先级升序定义
user agent declarations
user normal declarations
author normal declarations
author important declarations
user important declarations
CSS 特殊性规则稍后会出现。