CSS

@charset

@charset

该@charset CSS 规则 规定的样式表使用的字符编码。它必须是样式表中的第一个元素,而不是前面有任何字符。因为它不是嵌套语句,所以不能在条件组at-rules中使用。如果@charset定义了多个at-rules,则只使用第一个,并且不能style在HTML元素的属性内使用,也不能<style>在HTML页面的字符集相关的元素内使用。

@charset "utf-8";

在某些CSS属性中使用非ASCII字符时,此规则很有用。例如content

由于有几种方法可以定义样式表的字符编码,浏览器将按以下顺序尝试以下方法(只要产生结果就停下来):

  • HTTP标头的charset属性给出的值Content-Type:或用于服务样式表的协议中的等效值。

  • @charsetCSS的规则。

  • 使用引用文档定义的字符编码:元素的charset属性<link>。这种方法在HTML5中已经过时,不能使用。

  • 假定文档是UTF-8

语法

@charset "UTF-8"; @charset "iso-8859-15";

其中:

charset 是<string>表示要使用的字符编码。它必须是在IANA注册管理机构中定义的网络安全字符编码的名称,并且必须用双引号,紧跟一个空格字符(U + 0020),并立即以分号结尾。如果多个名称与编码相关联,则只能使用_preferred标记的名称。

形式语法

@charset "<charset>";

实例

@charset "UTF-8";      /* Set the encoding of the style sheet to Unicode UTF-8 */ @charset 'iso-8859-15'; /* Invalid, wrong quoting style used */ @charset "UTF-8"; /* Invalid, more than one space */ @charset "UTF-8"; /* Invalid, there is a character (a space) before the at-rule */ @charset UTF-8; /* Invalid, without ' or ", the charset is not a CSS <string> */

规范

SpecificationStatusComment
CSS Level 2 (Revision 1)The definition of '@charset' in that specification.RecommendationInitial definition

浏览器兼容性

FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support2.0No support1.5 (1.8)15.5294

FeatureAndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support2.1No support1.0 (1.8)5.5210.04