id属性値は一意でなければならない(1箇所でしか使えない)ってのはよくわかっていることだけど、そもそもid名やclass名に使用できない文字ってのがあります。
うっかり忘れて使用してしまったりすると…
いくにやってもスタイルが反映されなかったりして、あ〜でもない、こ〜でもないと無駄な時間を費やしてしまうことがあります。
というわけで、今さら聞けないルールをまとめておきました。
アルファベット(([A-Z][a-z])で始まること
アルファベット(大文字と小文字は区別される)
数字([0-9])
記号は、ハイフン(-)、アンダースコア(_)、コロン、(:)、ピリオド(.)のみ
ということで、よくあるミスとして
数字や記号で始まるclass名(id名)は使えません
&や%の記号は使えません
ただし、これらはHTML5より以前のことで
HTML5では全ての文字、記号が使用できるとなっています
でも、まだ念の為、HTML4 にあわせたほうが良さそうですね。