The exam question is incorrect, as exam questions often are. The expression “Document-level declaration” is not a proper term, and it has multiple interpretations. Moreover, it uses the word “normal” without specifying its meaning, but probably you are right in guessing that it means “without !important
”.
The answer is “undecided”, since “a” includes a browser style sheet rule with !important
, which trumps “b” and “c” (and “d” unless it means something that may have !important
), but it would be incorrect to say that “a” generally trumps the others. Edit: The specifications might be read so that browser style sheets cannot have !important
or that it does not have an effect in them, but at least Firefox html.css uses !important
(obscurely).
My bet is that the author of the exam did not think of the possible of an !important
rule in a browser style sheet, and you are therefore supposed to answer “c”.
Edit: Option “d” is there probably just to confuse students, since if it means a style sheet embedded in an HTML document, it’s a special case of author style sheel, and being embedded does not affect the cascade rules (among style sheets embedded with style
and linked with link
, it is the placement of the HTML element that matters, not the embedded vs. linked thing).