- From: Xidorn Quan <quanxunzhen@gmail.com>
- Date: Mon, 9 Nov 2015 09:30:57 +1100
- 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