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

Re: [css-variables] Is making a property negative via `-var(--width)` valid syntax?

From: Xidorn Quan <quanxunzhen@gmail.com>
Date: Mon, 9 Nov 2015 09:30:57 +1100
Message-ID: <CAMdq69-mN1zKFQA9wjXKZ2SwH9qGsSYxP45y9mkyck+4GbfBWg@mail.gmail.com>
To: Boris Zbarsky <bzbarsky@mit.edu>
Cc: Philip Walton <philip@philipwalton.com>, www-style list <www-style@w3.org>
On Mon, Nov 9, 2015 at 8:37 AM, Boris Zbarsky <bzbarsky@mit.edu> wrote:
> On 11/8/15 1:51 PM, Philip Walton wrote:
>>
>> If I try doing the same thing with custom properties in Firefox is
>> fails. I'm assuming that's a bug, but I wanted to ask here to make sure.
>
>
> The Firefox behavior seems correct to me per spec at first glance, though
> the spec could be clearer about this for sure.  The issue you're running
> into is var() substitutes a sequence of tokens, not a string to be
> retokenized.  This is the part that could be spelled out more clearly.
>
>> .parent {
>>    --gutter: 1em;
>>    margin: -var(--gutter); /* declaration ignored in FF */
>
>
> So the value of the custom property in this case is the sequence of tokens
> [1em].
>
> The value of 'margin' is then the sequence of tokens ['-', 1em] which is not
> the same thing as the single token [-1em].
>
> See also example 11 at
> https://drafts.csswg.org/css-variables/#example-3ab19e31 (as of today; I
> wish I could perma-link editor's draft versions), which is pretty much
> exactly your situation, right?

I think in this specific case, the declaration is dropped even
earlier. The parser should consider the whole "-var" as an unknown
token.

- Xidorn
Received on Sunday, 8 November 2015 22:32:04 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:08:58 UTC