Set a CSS property to the value of another CSS property

Hello!
It would be really nice to have the ability to set a property's value
using a pointer to another property's value. To be more explicit, 3
examples :

..model{color:red; border:2px solid blue;}

/* simple pointer : */
..example1{color: as(.model);}
/* The text color is red (as found in .model{color:red;}) */

/* complete pointers */
..example2{margin: as(.model?border-width); background-color:
as(.model?border-color);}
/* The margin is 2px on all sides (as found in
..model{border-width:2px;}), and the background color is blue (as found
in .model{border-color:blue}) */

/* inner pointer */
..example3{color:grey; border: 1px dashed as(?color);}
/* The border-color is grey (as found in .example3{color:grey;}) */

"as()" and "?" could of course be replaced by any other
keywords/keychars in the spec.
It would help a lot to manage big or multiple css files, and would
probably allow many other things.
If the model property doesn't exist, the property wouldn't do anything.
Of course, any property's value could be used for this (not only
dimensions and colors).

Possible problems :
- it would be harder to define the properties, as some of them would
have to wait for all the css to be computed before being set.
- Infinite loops could be created, but the property could be removed
immediately when a loop is found.

What do you think about it?

Bric

Received on Monday, 16 January 2012 14:07:27 UTC