- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Sat, 23 Feb 2013 18:27:45 -0800
- To: Simon Sapin <simon.sapin@kozea.fr>
- Cc: "www-style@w3.org" <www-style@w3.org>
On Sat, Feb 23, 2013 at 1:07 PM, Simon Sapin <simon.sapin@kozea.fr> wrote: > Le 23/02/2013 21:36, Andrew Fedoniouk a écrit : >> >> But what should happen if you have, say, this: >> >> div { >> background: #333; >> background: linear-gradient(/* … */); >> background: var(c1); /* #1 */ >> background: var(grad1); /* #2 */ >> background: var(url1) var(repeat1); /* #3 */ >> } >> >> And in run-time any of mentioned variables may have invalid values. >> So at any given moment of time one or all prop defintions 1..3 >> can be invalid. > > > What do you mean by "run-time"? > > As explained in the previous email: > In a browser that supports css3-variables, any property declaration that > contains var() is not validated as usual when parsed. In this case the last > one would win the cascade. The specified value is "var(url1) var(repeat1)". > Then var() are substituted for their own computed values. At this point if > the result is invalid, the initial value of background (transparent) will be > used. You didn't get my point. For this declaration: div { background: #333; background: linear-gradient(/* … */); } you said the following: If UA does not support linear-gradient() it will use background: #333; , correct? Now let's consider this declaration for the UA that supports variables but not gradients : var grad1 = linear-gradient(/* … */); /* it is set somehow */ div { background: #333; background: var(grad1); } on this you said the following: As UA supports variables then it will use background: var(grad1); declaration. But as the UA does not support gradients (or the var value just invalid) then it will use background: transparent; Is all this correct in your opinion and how it should work? Personally I would expect that this div { background: #333; background: var(invalidvar); } will end up with background color set to #333. That's if we want to keep status quo and make variables as a dynamic alternative to current static declarations. -- Andrew Fedoniouk. http://terrainformatica.com
Received on Sunday, 24 February 2013 02:28:13 UTC