- From: Brad Kemper <brkemper.comcast@gmail.com>
- Date: Fri, 26 Sep 2008 09:02:41 -0700
- To: Mike Wilson <mikewse@hotmail.com>
- Cc: <www-style@w3.org>
On Sep 26, 2008, at 5:46 AM, Mike Wilson wrote: > Brad Kemper wrote: >> But if the author wanted it to act as a constant, >> where "first rule overrides later rules", he >> could add a keyword to that rule that would >> accomplish that by adding 1,000,000 to the >> specificity calculation: > > @define constant { > mySimpleVariable: 5px; > myComplexVariable { > width: 5em; > height: 5em; > } > } > > But how would you treat a subsequent > @define constant mySimpleVariable > assignment in the same document? > > This is where Andrew wants the first clause to have > precedence and this means we either have to invent a > position-dependent specificity calculation or change > the cascade algorithm. In my view, if you added the keyword "constant" to the variable definition, then it would act more like a constant, with the first one taking precedence, and subsequent imported ones useful as default values in case the first one is missing. As Andrew described. I don't see any reason to fight against this; you can have your cake and eat it too. > We already have !important for explicitly pointing > out a certain rule to have precedence. Not the same thing. If you have two rules in which !important is applied to the same value with the same specificity, then the second one wins. Which is opposite of how constants work. The whole idea behind constants is that they are like variables that don't change once declared. That is a useful thing to have.
Received on Friday, 26 September 2008 16:03:28 UTC