Designers should not use IDs when writing HTML/CSS (right?)

I just had a little chat with Zatch Sharpie about how designers should write HTML/CSS.
It’s my contention that designers should never use IDs. Ever. Classes are for designers to style things. IDs are for developers who are writing JS to interact with specific elements. Zatch had never heard this opinion before. In fact he had heard the contrary and retorted with the classic “IDs are for things you use once, classes are for things you use multiple times.”
A good example is the footer or body element. There should never be more than one of these on a page. Ok, fine. But I have to ask: what is the downside to using a class to style it anyway?
There is literally no downside to a designer using classes for all styling, but the flip side is not true. If a designer uses an ID to style a #email-container wrapper, and then all of the sudden we want to display more than one #email-container we have to go back and fix not only the #email-container style but any styles that descend from it.
I really don’t want to get into a flamewar here, but I’d love to hear other people’s opinions on this. The only opinions I can find online against using classes for everything is that doing so is “sloppy.” I don’t see how. Sounds like religion to me.
Let me know what you think!
The ‘Cache-Control’ header is your friend on Heroku
FourthSegment has a bunch of static pages that were loading too slowly. We hadn’t really put much thought into caching, so I thought I’d spend an hour speeding things up. Here’s what I came up with.
I added this method to ApplicationController to be used as a before_filter:
This tells Heroku’s Varnish layer to cache the content. The ab results testing out the homepage speak for themselves.
Before:
After:
#winning.
Scoped mass-assignment in Rails3
I’ve fought this beast a few times — I think this is a perfect solution. Via @dpickett
Dynamic Properties in IE — aka CSS on Acid
http://msdn.microsoft.com/en-us/library/ms537634(v=vs.85).aspx#Implement
I really cannot fathom what Microsoft was thinking when they implemented this. Javascript in your CSS? Sad trombone. Someone enlighten me?
