I have a page that has multiple panels, fly out menus, drop-down menus, etc. All pure css (only image is a logo). Many elements have color specifications specific to the theme like color, background-color, etc. CSS rounded corners need to be built based on the background and foreground of their location.
I would like to take this page and present it with a variety of color schemes. I.e. for a maroon scheme, the text would be maroon and the backgrounds (and other contrasting things like menu drop-downs, etc.) in a light yellow. The psuedo classes like a:hover would also be specific to the theme (usually just inverted).
But for a gray theme, I would want a different color scheme entirely.
I know I can do things like specify a color as a class (like <div class=”headerDiv maroon”> and then have css like:
.maroon.headerDiv {color:#990000, background-color:#E0E0E0; blah, blah}
I could do this programaticly by pre-processing a css file before it’s either linked into a page or embedded in the style section.
But I was curious if there is a clean way to specify different colors, background-colors and other color-related properties without duplicating all the various class definitions to do so or without having to have separate style sheets or one that is so huge it becomes unmanageable.
The layout doesn’t change nor the vast majority of the properties that govern the layout.
Is there a defined mechanism for doing this or is it a brute force operation because css is a cascading model?