If you're like me, you probably love CSS, but are also a little disappointed in a few things it lacks; like constants or variables.
LESS is a fairly new bit of genius that solves some of the shortcomings in Cascading Style Sheets.
A good example is what I'll call a wished-for "color catalog." I often make one, but it's just several lines of commentedd-out reminders about the color values used throughout the rest of my CSS file. I can copy-n-paste color values from my "catalog" into my CSS classes. It saves errors, but it's still inconvenient.
Wouldn't it be nice if we could specify color values just once, assigned to a named constant, then, instead of typing in those inscrutable hex values all over your css, you could simply use your constant name for the color?
LESS lets you do that - and more.
It doesn't offer constants, but its variables can certainly do the job. It also offers "mixins," operations, and nested rules. The .NET version also offers a few useful functions.
How such a thing could be done is probably obvious: You write a LESS file, very much like an ordinary CSS file, but using the syntactical constructs introduced by LESS. Then you run your file through the LESS processor and it emits a standard CSS file.
There is obviously one potential downside: It adds a build step to your projects (unless you're working in .NET). If you don't mind that, you should certainly look into LESS.
Here are the pertinent Links:
http://lesscss.org/ This is the original LESS project, and uses a Ruby Gem to process your LESS files.
http://www.dotlesscss.com/ This is the .NET incarnation of LESS. It has provisions for automating the processing of LESS files.