CSSの一番最初に書く呪文「@charset “utf-8”;」
自分はエディターを変えたタイミングでこの呪文を書くのをやめました。(以前はCSSを作成するとエディターが自動で挿入してた)
なぜならUTF-8でしかコードを書かないからです。
仕様によると、ブラウザは次の順番でCSSの文字エンコーディングを推定します。
https://developer.mozilla.org/ja/docs/Web/CSS/@charset
- ファイル先頭にある Unicode byte-order 文字 (BOM) の値
- Content-Type: HTTP ヘッダーの charset 属性、またはスタイルシートを送るのに使われたプロトコル内の同等のものから、得られた値
- CSS の @charset at-規則
- 文書参照で定義されている文字エンコーディングを使用。<link> 要素の charset 属性です。この方式は HTML5 で廃止されており、使うべきではありません。
- 文書が UTF-8 だと仮定する
CSSの頭に各@charsetは3番目なのです。自分が使っているエディタはBOMは含めないようになっているので1はスルーで、2でほとんどの環境でUTF-8であることは分かると思います。
万が一、2でエンコーディングが判明しなかった場合は、3,4が無くて、5でUTF-8と仮定されます。
だから「@charset “utf-8”;」は書いていません。