Because CSS is not a programming language. If you want, you can easily have the programming language of your choice generate CSS. You can also use multiple classes on any html element. You can use Javascript libraries to avoid those problems as well.
I'm not saying that CSS is perfect, or even great, because it isn't. But it is not intended to be a programming language, and you are basically complaining that it doesn't have the features of a programming language.
quote: For example, CSS doesn't have variables... so you can't say something like "headerColor = #5444BB" and just use that wherever you want the header color. What were they thinking!?
That's what css classes are for:
CSS -
HTML -
I'm Blue
I'm Red
Each INTERPOL member country maintains a National Central Bureau staffed by national law enforcement officers.
Yes, and in the United States, the NCB is staffed by members of the Justice Department www.justice.gov/usncb/
Never test for an error condition you don't know how to handle. -- Steinbach