On 1/27/2011 11:21 AM, Tab Atkins Jr. wrote:
On Wed, Jan 26, 2011 at 6:47 PM, Brett Zamir<[email protected]>  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

Reply via email to