- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Mon, 13 Jul 2015 10:26:57 -0700
- To: raees@thewebsmith.co
- Cc: "www-style@w3.org" <www-style@w3.org>
On Sat, Jul 11, 2015 at 5:32 PM, <raees@thewebsmith.co> wrote:
> Is there a particular reason to prefer ‘--’ over ‘$’ for declaring
> variables? I mean,
>
> $color-headings: #444;
> h1{
> color: var($color-headings);
> }
>
> still looks better than
>
> --color-headings: #444;
> h1 {
> color: var(--color-headings);
> }
Custom properties are properties, so they have to go in a style rule, like:
```
html {
--color-headings: #444;
}
h1 {
color: var(--color-headings);
}
```
Otherwise, no *strong* reason to prefer one over the other. $ was
suggested several times during development, but we ultimately rejected
it for a few reasons:
1. $ is used by lots of preprocessors for variables already, and
they're *global* vars in those preprocessors. Stomping on their syntax
with something slightly different is rude and confusing.
1a. If we ever do use $, we'll probably use it in a way similar to
preprocessors (for example, as mixin arguments - lexically-scoped
variables).
2. Property names starting with dashes are already familiar from
vendor prefixing, so a double-dash fits in with that while still
claiming a pristine syntax space.
3. Aesthetics is a personal choice and opinions differ?
~TJ
Received on Monday, 13 July 2015 17:27:43 UTC