- From: Marat Tanalin | tanalin.com <mtanalin@yandex.ru>
- Date: Tue, 05 Jun 2012 04:01:02 +0400
- To: Tab Atkins Jr. <jackalmage@gmail.com>
- Cc: François REMY <fremycompany_pub@yahoo.fr>, CSS 3 W3C Group <www-style@w3.org>
05.06.2012, 03:02, "Tab Atkins Jr." <jackalmage@gmail.com>: > On Mon, Jun 4, 2012 at 2:58 PM, Marat Tanalin | tanalin.com > <mtanalin@yandex.ru> wrote: > >> I tend to consider repeating prefix (be it `my-` or any other) when using a variable somewhat redundant. > > That redundancy often makes it easier to see relationships. How does the redundancy makes it easier than nonredundancy? > That @variables rule is exactly identical to a normal style rule in > mechanics. You avoid the need to put a prefix on your var names, but > in return are forced to put a prefix on your selector (the @variables > token and the parens), and probably have to repeat selectors that > you're already using to apply normal styling properties. We are forced to repeat selectors multiple, multiple times again and again everyday for more than 10 years, so apparently it's not considered a serious issue by CSS WG. And repeating selector in @variables rule is not something that could make situation any worse. For the rest, it may (or may not) make sense to consider using @variables at-rule inside regular rules: .example { @variables { link-color: red; } } .example A {color: $link-color; } > In order for > this to result in less typing you have to define at least 4 (or more, > depending on the size of the repeated selector) variable properties > per block (if you're measuring against the "var-" prefix) or 15+ per > block (if you're measuring against the "$" prefix). Less typing in general is not the point of my proposal at all. My proposal's goal is to avoid prefix when defining variable and avoid ambiguity/nonextensibility if it will be decided (undesirably) to use $ token for defining variables too (not just for using variable's value). We could easily use more short `@var` instead of `@variables` though. > It also makes it less clear that variables act like every other > property, because their definitions now live in a special at-rule > instead of a normal style rule alongside the other properties. It's questionable what is less clear: `var-` (or `my-`, `x-`, etc.) prefix or `variable: value` pair inside @-rule. Latter is much more intuitive IMO. (Please try to not answer _immediately_ after reading.) >> Also, using value in the my proposal has $ token-mark while defining value does not have $ (in the same way as recent François's proposal, but with no prefix). This clearly separates defining variable and its using. > > The separation is implicit already on whether the var names is on the > left or the right of the colon. An explicit thing is generally more clear then an implicit one. Thanks.
Received on Tuesday, 5 June 2012 00:01:32 UTC