[whatwg] New method for obtaining a CSS property

Brett Zamir brettz9 at yahoo.com
Wed Jan 26 22:23:09 PST 2011


On 1/27/2011 11:21 AM, Tab Atkins Jr. wrote:
> On Wed, Jan 26, 2011 at 6:47 PM, Brett Zamir<brettz9 at yahoo.com>  wrote:
>> While it can already be done dynamically by iterating through
>> document.stylesheets, in order to allow full separation of presentation from
>> content in a convenient way and foster best practices, I think it would be
>> helpful to have a built-in method to obtain a CSS property for a given
>> selector.
>>
>> This is particularly needed by canvas which has no inherent way of obtaining
>> styles set in a stylesheet, but would also be useful for HTML and SVG where
>> setting a class dynamically may not always be sufficient, such as in a
>> dynamically powered transition which wants to obtain starting and ending
>> style properties.
>>
>> (This issue might also highlight some gaps in CSS, with, for example, there
>> being no exact equivalent for say shadow color as used in canvas, but even
>> without such changes to CSS, the proposed method would still be useful.)
> What are you actually trying to accomplish?  I can't tell from this
> email what data you're trying to get, precisely, and nowhere do you
> state what problem you're trying to solve.

I'll give a more concrete example, but I did state the problem: 
separation of concerns, and the data I want, getting a CSS property for 
a given selector.

For example, we want the designer guy to be able to freely change the 
colors in the stylesheet for indicating say a successful transition 
(green), an error (red), or waiting (yellow) for an Ajax request. The 
JavaScript girl does not want to have to change her code every time the 
designer has a new whim about making the error color a darker or lighter 
red, and the designer is afraid of getting balled out for altering her 
code improperly. So the JavaScript girl queries the ".error" class for 
the "background-color" property to get whatever the current error color 
is and then indicates to an animation script that "darkred" should be 
the final background color of the button after the transition. The 
retrieval might look something like:

document.getCSSPropertyValue(".error",  "background-color");  // 'darkred'

While the JavaScript would choose the intermediate RGB steps to get 
there in the fashion desired by the developer.

Yes, there are CSS transitions, or maybe SVG, but this is for cases 
where you want control tied to JavaScript.

Or, for canvas specifically. You draw an animated "Hello" and want the 
designer to be able to choose the fill color. You want to be able to 
query the stylesheet easily to get the styling info.

Brett




More information about the whatwg mailing list