XHTMLなりHTMLでは、xml宣言やhead内のmeta http-equivで文字コードの指定を行います。CSSに関してもW3Cの仕様書にスタイルシートが分離したファイルに存在する場合,利用者エージェントは,次の優先順位を守り,文書の文字符号化を決定しなければならない。
と明記してあります。
- "Content-Type"フィールドのHTTP"charset"パラメーター
- @charsetの@規則
- 参照する文書の言語機構。例えば,HTMLの場合は,LINK要素の"charset"属性
基本的に外部CSSファイルが英数字だけの記述の場合や、html文書と同じ文字コードであれば指定の必要はないと言われたりもします。しかし、font-familyでMS Pゴシックやヒラギノ角ゴ Pro W3などと指定する場合もありますし、@charsetを指定しないとネスケ6では誤った解釈をする場合があるようですので、記述しておいた方が良いかと思います。
@charset "shift_jis"; /*shift_jisの場合*/
@charset "euc-jp"; /*euc-jpの場合*/
@charset "utf-8"; /*utf-8の場合*/
@charset "iso-2022-jp"; /*iso-2022-jpの場合*/
上記の宣言をCSSファイルの先頭に記述します。当然の事ながら、html文書内でsytle要素を使用している場合は、htmlの文字コード指定があるので、宣言の記述は必要ありません。
- 参考にさせて頂いたサイト
- CSS Dencitie : 使ったほうがいいかもしれない@charset
- 4.4 CSS document representation
- 4.4 CSS 文書表現(上記和訳)
Comments