Rare? RARE? What kind of dinky little disposable sites does Zeldman work on? I can’t take anything that he says at face value, because I just don’t work on the kinds of projects he works on. I’ve never worked on a serious project that didn’t have tons of jumbled css.
Also, is it just me, or do his arguments for ids just not make any sense? How is an id “more semantic” than a class name? #footer and .footer both say footer. What’s more meaningful about # than . ?
Saying you just need a master chef and permission to do some refactoring shows a lack of understanding of two things.
One. Refactoring CSS is hard. When it’s not compartmentalized in the manner of OOCSS or SMACSS it’s really, really hard. Because it’s all one jumble and you have to test everything on every change.
Two. A master chef would have to have absolute control over all html and css. I mean code review every checkin and make every dev do things the ‘right’ way. But if there’s no system of compartmentalization, then every contributor has to have just as much knowledge and comprehension as the master chef. That’s totally untenable. Each dev needs to write ‘good’ CSS on their own, or you’ll have to correct them every time.
So, those are the two main problems that OOCSS and SMACSS try to solve. In that context, I don’t think Zeldman’s arguments are very relevant.
Also, calc()!!! *swoons*
Cutting the mustard
The browser is a hostile development environment and supporting a wide range of desktop browsers can be tough work.
One of the immediate challenges we discovered when we first started the responsive news prototype was the large range of devices that we would have to support. It terrified us. This article is about a solution we use to alleviate this problem.