識別子で扱える文字
要素名、クラス名、及びセレクタのIDを含む識別子では扱える文字が決まっています。
- アルファベット(a~z、A~Z)および数字(0~9)の範囲にある文字
- Unicode(ISO 10646)の文字符号161以上の文字
- ハイフン(-)およびアンダースコア(_)も使用可能
- エスケープされた文字及び任意のISO 10646文字を数値符号として含むことが可能
- 必ずアルファベット(a~z、A~Z)から開始
ピリオドや&などの文字を使用する場合、例えば「date2009.3」なら「date2009\.03」、「B&W?」は「B\&W\?」または「B\26 W\3F」などとエスケープする必要がありますが、どうしても使わなければならない状況以外ではあまり使わない事をオススメします。
また、CSS3ではアンダースコアからの開始が可能となっているみたいですが、まだWorking Draftですし修正される可能性も考え、CSS2.1で使えない以上は後方互換を考え使用しないのがいいと思います。
アンダースコアに関しては、CSS2で使えないとなっていたため、一時期使うべきではないと言われていましたが、現状では問題なく使えるため特に気にせず使っていけます。
大文字と小文字の区別に関して
CSSでは、大文字・小文字の区別をしません。なので、例えばプロパティをbackground
と書いてもBackGround
やBACKGROUND
と書いても問題ありません。
ですが、CSSではない部分においてはそれぞれの仕様に従う必要が有ります。
例えば、id属性やclass属性の値がそれに該当しますので、クラス名をmainArea
と付けて、(X)HTMLではmainarea
とした場合、スタイルが適用されなくなってしまいます。