W3C home > Mailing lists > Public > www-style@w3.org > December 2012

Re: [css3-syntax][css3-cascade] Conflicting definitions of !important

From: Tab Atkins Jr. <jackalmage@gmail.com>
Date: Fri, 14 Dec 2012 10:23:22 -0800
Message-ID: <CAAWBYDBd815rR+cx=+pPGtiNY9FaskY1ZBCSSBXTHEOQixagaA@mail.gmail.com>
To: Simon Sapin <simon.sapin@kozea.fr>
Cc: www-style list <www-style@w3.org>
On Fri, Dec 14, 2012 at 6:21 AM, Simon Sapin <simon.sapin@kozea.fr> wrote:
> Hi,
>
> We currently have two definitions for the syntax of !important (not counting
> CSS 2.1 which is superseded by corresponding level 3 modules.)
>
> css3-syntax, section 3.5.9:
> Declaration-important mode (reached after ! in a declaration value)
>
>> whitespace token
>> comment token
>>     Do nothing. Remain in this mode.
>> ident token with a value of "important"
>>     If the current declaration is one that can be made important,
>>     set the important flag of the current declaration to true,
>>     and switch to the declaration-end mode.
>
>
>
> css3-cascade, section 4.2.2:
>
>> A declaration is "!important" if the last two tokens in its value are
>> the delimiter token ‘!’ followed by the identifier token
>> ‘important’.
>
>
>
> As you can see, the former definition allows whitespace and comments between
> ! and important, while the latter does not. I don’t care what the exact
> syntax is, but it should be defined no less and no more than once.
>
> I suggest that either:
>
> 1. css3-cascade refers to css3-syntax for this.
> 2. css3-syntax removes anything related to !important, which is becomes part
> of the declaration’s "value". css3-cascade defines exactly how !important is
> separated from the rest of the value.
>
> I prefer 1 as syntax belongs in the Syntax module, but 2 would work too.

Cascade defining that is a bug, leftover from the older version.  We'll fix.

~TJ
Received on Friday, 14 December 2012 18:24:09 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:21:03 GMT