W3C home > Mailing lists > Public > www-style@w3.org > April 2008

Re: [CSSWG] action 38, CSS Variables

From: Alan Gresley <alan@css-class.com>
Date: Wed, 09 Apr 2008 19:11:53 +1000
Message-ID: <47FC8859.8060303@css-class.com>
To: Andrew Fedoniouk <news@terrainformatica.com>
CC: Bert Bos <bert@w3.org>, "www-style@w3.org" <www-style@w3.org>

Andrew Fedoniouk wrote:
> 
> Bert Bos wrote:
>>
>> Daniel Glazman wrote:
>>
>>>   http://disruptive-innovations.com/zoo/cssvariables/
>>
>> Here are a few principles I hold dear:
>>
>> The smaller CSS is, the better. A smaller CSS is easier to learn, 
>> easier to implement and has a better chance of being interoperable.
>>
>> If some feature can be done outside of CSS, especially a feature that 
>> is useful for other technologies than CSS, then is it should be done 
>> outside of CSS. Modularity avoids implementing things twice, allows 
>> parallel developments and re-use.
> 
> I think that this @const/@vars feature is exactly what is needed to
> support modularity on CSS level.


Why do you want to turn CSS into some retro fit querryDOM(if 
CSS.support)return true; language. CSS can do things that no other 
language can do since CSS is very simple but very clever.


[..]
>> Indirection is bad, because too few people understand it. Half the 
>> people don't understand that EM refers to a style rule in a different 
>> file and that that style rule makes the text italic. Every further 
>> indirection we add halves our audience.
>>
> 
> Beg my pardon but cascading in CSS is indirection too.
> And I would not tell for sure what is harder to comprehend: cascading
> or symbolic names for entities.


Well one word just flew right over my head (very high). Andrew can you 
please state why cascading in CSS is indirection? Since this list is for 
technical discussion of CSS. Can we hold back on all this looping stuff.


>> Variables in CSS are wrong for the above three reasons. They make the 
>> language bigger and more difficult to learn, they make other people's 
>> style sheets more difficult to understand and re-use. They can instead 
>> be done with a generic macro processor and would then be useful for 
>> other languages, too (HTML, SVG, Javascript, Atom, etc.). They 
>> introduce extra indirections.
> 
> I would like to see that macro processor that I can use on my
> site running WordPress, BBPress, DokuWiki and my own PHPisms.
> Problem is not in macro processing but in CSS itself -
> multiple modules cannot be glued together because CSS simply does not 
> provide such a glue.


"I would like" to outline your words "I would like."

A glue is a concatenations like "", already present in CSS. Has anyone 
really look into the inner workings of CSS? Only if we knew the right 
direction to see. By hindsight we know we must not overload CSS but are 
we clever enough to release it's power by insight.




>> Computer scientists love indirections, they believe all problems can 
>> be solved with them, but normal people hate them. Programmers program 
>> their video recorders, normal people prefer to press the Record button 
>> at the right moment. Programmers use text editors, normal people use 
>> Direct Manipulation interfaces (what's often incorrectly referred to 
>> as WYSIWYG).
>>
> 
> Sorry but how "normal people" and CSS design are related?


Because CSS should be simple enough for normal people to learn. CSS is 
not just for the tech wizards of this world but should be a language 
that a Grandma can pick up easily so she can present her Family History 
on the internet.

Selectors CSS3 is ready (?) for CR. Two current betas have almost 
completely implemented it (or have?). Can these 
CSS.query.variable.constants be left for Selectors CSS4 because once 
Selectors CSS3 reaches REC the Selectors CSS4 can begin.

A variable may have just slip under many peoples noses since it was 
brought up with discussing CSS3 backgrounds. It was.

background: red / green, blue;

Opera 9.24 minces that one but this one.

background: red () green, blue;

will be completely dropped (apart from IE5.5 which shows red).

div () {background: red;}

will be dropped by all implementations that I can test in.

Maybe reserving () for background size is overkill and which I have 
propose an alternative since whatever is inside () can change how 
selectors can be looked upon.

Selector CSS4 has to be done the clever way. Not the quickly and easy 
way. When considering CSS please remove all preconceptions that it like 
JavaScript.Query.DOM. CSS has beauty, elegance and symmetry.

Alan

http://css-class.com/test/
Received on Wednesday, 9 April 2008 09:19:50 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:55:05 GMT