即将参加考试,我将参加之前的考试。
问题:
当两个或多个样式表规则应用于同一个元素时,以下哪种规则优先?
一个。任何具有浏览器来源的声明
湾用户来源的正常声明
C。与作者出身的正常声明
d。文件级声明
那么答案是c还是d?我猜是因为c是一个正常的声明,并不重要,但我无法在任何地方得到明确的答案
干杯
答案 0 :(得分:2)
答案是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;
}
答案 1 :(得分:1)
考试题目不正确,因为考试题目经常出现。表达“文档级声明”不是一个合适的术语,它有多种解释。此外,它使用“正常”一词而没有指明其含义,但你可能正确地猜测它意味着“没有!important
”。
答案是“未定”,因为“a”包含一个带有!important
的浏览器样式表规则,它胜过“b”和“c”(和“d”除非它意味着可能有{{ 1}}),但是说“a”通常胜过其他人是不正确的。 修改:可能会读取规范,因此浏览器样式表不能包含!important
或者它们没有效果,但至少Firefox html.css使用!important
(不明显)。
我敢打赌,考试的作者没有想到浏览器样式表中!important
规则的可能性,因此你应该回答“c”。
编辑:选项“d”可能只是让学生感到困惑,因为如果它意味着HTML文档中嵌入的样式表,那么这是作者样式剪辑的一个特例,并且是嵌入式的不影响级联规则(在嵌入!important
并与style
链接的样式表中),重要的是HTML元素的位置,而不是嵌入式和链接的内容。
答案 2 :(得分:0)
您正在审核CSS Cascading。
所以,从链接
样式表可能有三个不同的来源:作者,用户和用户代理。
和它们之间的优先顺序如下
默认情况下,作者样式表中的规则比用户样式表中的规则更重要。优先顺序相反,>但是,对于“!important”规则。所有用户和作者规则都比UA默认样式中的规则更重要 片。
级联顺序由优先级升序
定义user agent declarations
user normal declarations
author normal declarations
author important declarations
user important declarations
CSS specificity Rules后来出现了。