W3C home > Mailing lists > Public > www-style@w3.org > February 2003

Precedence conflict in CSS2 spec

From: Bob Kline <bkline@rksystems.com>
Date: Mon, 10 Feb 2003 17:19:35 -0500 (EST)
To: www-style@w3.org
Message-ID: <Pine.LNX.4.44.0302101702370.26029-100000@rksystems.com>

I apologize in advance if this has been covered in some FAQ document.  I 
did try googling without success (and I looked through the errata for 
the spec).

It would appear that the CSS2 spec has two passages which contradict 
each other.  The first is in the last paragraph of 6.4[.0, immediately 
preceding 6.4.1]:

    "Rules specified in a given style sheet override rules imported 
    from other style sheets."

This unqualified statement would seem to imply that a rule in an 
imported style sheet would be overridden by a rule in the importing 
style sheet, even if the first rule (the imported rule) were more 
specific and were designated "! important."

However, 6.4.1 "Cascading order" has the following rule:

    "4.  Finally, sort by order specified: if two rules have the 
    same weight, origin and specificity, the latter specified wins. 
    Rules in imported style sheets are considered to be before any 
    rules in the style sheet itself."

Because this rule is given _after_ rules for considering weight, origin,
and specificity (and because of the word "Finally"), one would conclude
that a user agent is only to consider the order of specification
(including whether a rule came from an imported style sheet) if all
other factors are unable to produce a choice (that is, weight, origin,
and specificity are identical between the two rules under
consideration).  If this were not true, the last sentence in the passage
quoted from 6.4.1 would be superfluous at best.

Does this mean that the first passage quoted above is not to be taken at
face value?

Bob Kline
Received on Monday, 10 February 2003 18:25:18 UTC

This archive was generated by hypermail 2.3.1 : Monday, 2 May 2016 14:27:05 UTC