CSS is hard. But this is not because the language is faulty. Rather, the difficulty lies in what the language seeks to accomplish.
Hell, I’ve been writing CSS for ten years, and I have many moments of frustration with it. Often, it’s because I didn’t plan my project correctly. CSS can be very unforgiving in that way.
Still, CSS is not broken. I couldn’t agree more with Keith’s last paragraph: