id属性値は一意でなければならない(1箇所でしか使えない)ってのはよくわかっていることだけど、そもそもid名やclass名に使用できない文字ってのがあります。

うっかり忘れて使用してしまったりすると…

いくにやってもスタイルが反映されなかったりして、あ〜でもない、こ〜でもないと無駄な時間を費やしてしまうことがあります。

というわけで、今さら聞けないルールをまとめておきました。

アルファベット(([A-Z][a-z])で始まること

アルファベット(大文字と小文字は区別される)

数字([0-9])

記号は、ハイフン(-)、アンダースコア(_)、コロン、(:)、ピリオド(.)のみ

ということで、よくあるミスとして

数字や記号で始まるclass名(id名)は使えません

&や%の記号は使えません

ただし、これらはHTML5より以前のことで

HTML5では全ての文字、記号が使用できるとなっています

でも、まだ念の為、HTML4 にあわせたほうが良さそうですね。