That IDs seem to behave like classes when you have duplicate IDs in a page is nothing more than a side effect of how browsers implement CSS.
Whether a document conforms to its own rule that IDs should be unique is not relevant to CSS. CSS simply says to match elements that have a specific value in its ID attribute, to an ID selector:
An ID selector represents an element instance that has an identifier that matches the identifier in the ID selector.
It does not say anything about what should happen if there is more than one element with such an ID, because it assumes that you are working with a conforming HTML document.
You should use classes to group your elements because that's what HTML says to do, and you are trying to conform to valid HTML. Having duplicate IDs is quite simply not allowed by the HTML spec, and can result in unexpected behavior, so it is not something to be relied on regardless of what effect it has in browsers.
doesn't work. – user697911 Feb 24 '14 at 03:25