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

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?

-Boris

Received on Sunday, 8 November 2015 21:37:38 UTC