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

RE: [css-variables] Why we can not use 'var()' function for normal property

From: François REMY <francois.remy.dev@outlook.com>
Date: Tue, 2 Jun 2015 21:30:15 +0200
Message-ID: <DUB405-EAS249B8995851053E2E1FDD3CA5B50@phx.gbl>
To: "'Boris Zbarsky'" <bzbarsky@mit.edu>, "'Marat Tanalin'" <mtanalin@yandex.ru>, "Tab Atkins" <jackalmage@gmail.com>, <www-style@w3.org>
> On 6/2/15 2:40 PM, Marat Tanalin wrote:
> > 02.06.2015, 21:36, "Boris Zbarsky" <bzbarsky@mit.edu>:
> >> On 6/2/15 2:29 PM, Marat Tanalin wrote:
> >>>   In your example, `a` and `b` are undefined since `c` is not
specified.
> >>
> >> Er, I meant, of course:
> >>
> >>      a: var(b);
> >>      b: var(c);
> >>      c: var(d);
> >>      d: var(e);
> >>      e: color;
> >
> > Then values of `a`, `b`, `c`, `d` depend on what is `color` (as long as
we have
> nesting-level limit greater than 5).
> 
> Sure, but what if it's, say, 3?  Does "a" have a value?  Does "c"?  Does
it
> depend on whether "a" or "c" is computed first, or whether they're
> computed in parallel?

I'm just going to point out this is a false problem. I already proved a
perfectly fine solution to this problem existed, which had no
evaluation-order dependency, and which could be executed in parallel like a
charm. I even provided an implementation and a complete demo for people to
try out. This was three years ago.

    http://lists.w3.org/Archives/Public/www-style/2012Oct/0599.html

The algorithm I proposed had the added benefits that it supports things
like:

    --a:  var(--b, none);
    --b: var(--a);

resolving to:

    --a: none; 
    --b: none;

while the current algorithm says both resolve the 'initial' as the
declarations are invalid (sic).



At the time, this proposal was rejected because "it is not useful to create
cycles in variables" (according to some very interesting definition of
useful, of course, because I know for sure use cases do exist when you want
to create layouts using custom properties by creating overconstrained
dependency cycles which become well-constrained once you defined some number
of values previously computed by formulas).

Like I said to Lea before, right now, I'm not interested anymore in spending
my personal time fighting for what I believe CSS Custom Properties should
have been, but I'm annoyed to see this thread going nowhere and wasting
everyone's time. The real issue is not the algorithm, it's that supporting
more properties would require work that browser vendors are not ready to
pursue (yet). This thread has moved on to trying to solve an already solved
problem.

Given you are now 5-mails-fewer away from Inbox Zero, take some time to
drink some coffee and enjoy your day :-)
François
Received on Tuesday, 2 June 2015 19:30:39 UTC

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