W3C home > Mailing lists > Public > www-style@w3.org > November 2005

Re: [CSS21] Status of defult (intrinsic) style sheet in UA

From: Lachlan Hunt <lachlan.hunt@lachy.id.au>
Date: Wed, 23 Nov 2005 13:11:03 +1100
Message-ID: <4383CFB7.9030002@lachy.id.au>
To: Boris Zbarsky <bzbarsky@mit.edu>
CC: www-style@w3.org

Boris Zbarsky wrote:
> 
> Lachlan Hunt wrote:
>> We see that in first position is the user agent's stylesheets 
>> (including normal and !important rules), and positions 2 to 5 are the 
>> user and author stylesheets.  Perhaps that could be clarified as:
>>
>>    1. *user agent normal style sheets*
>>    2. *user agent important style sheets*
> 
> What does it mean for a user agent style sheet to be important?  How do 
> you tell?  Keep in mind that there may be no actual CSS style sheet there.

I didn't notice that in 6.4.2, it defines that only user and author 
stylesheets can contain !important rules, and incorrectly assumed that 
they could be used in a UA stylesheet as well.  However, it doesn't seem 
to be defined how a UA should handle such rules in a UA stylesheet. 
Should they be ignored?  Should they be treated as normal rules?  Should 
they do as I suggested above and only override other user agent normal 
styles? Or something else, like what Firefox does?

To test this, I tried the following rules in Firefox:

/* html.css (UA stylesheet) */

h1 { color: red !important; }
h1 { color: blue; }


/* userContent.css */

h1 { color: green !important; }


/* Author stylesheet */
h1 { color: silver !important; }

I then restarted Firefox and was given red headings.  So, clearly 
Mozilla is treating UA !important rules above all others, including user 
!important stylesheets.  While it is unlikely that a vendor would put 
!important rules in their stylesheet by default, the result should be 
well defined in such cases.

-- 
Lachlan Hunt
http://lachy.id.au/
Received on Wednesday, 23 November 2005 02:11:22 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:41 GMT