요약

@charset CSS at-규칙은 스타일 시트에 쓰이는 문자 인코딩을 지정합니다. 스타일 시트의 첫 번째 요소여야 하며 어떤 문자가 선행되지 않아야 합니다; 중첩된 문이 아니기에, 조건부 그룹 at-규칙 내에 사용될 수 없습니다. 여러 @charset at-규칙이 정의된 경우, 첫 번째 것만 사용되고 HTML 요소의 style attribute 또는 HTML 페이지의 문자 집합과 관련 있는 <style> 요소 내에서 사용될 수 없습니다.

이 at-규칙은 content처럼 일부 CSS 속성(property)에서 비 ASCII 문자를 사용할 때 유용합니다.

스타일 시트의 문자 인코딩을 정의하는 여러 방법이 있기에, 브라우저는 다음과 같은 순서로 다음 방법을 시도합니다( 그리고 하나가 결과를 산출하자 마자 곧 멈춥니다):

  1. 파일의 시작 부분에 놓이는 Unicode byte-order 문자값.
  2. Content-Type: HTTP 헤더의 charset attribute 또는 스타일 시트를 제공하는 데 쓰이는 프로토콜 등가물에 주어진 값.
  3. @charset CSS at-규칙.
  4. 참조하는 문서에 의해 정의된 문자 인코딩 사용: <link> 요소의 charset attribute. 이 메서드는 HTML5에서 폐기(obsolete)되어 사용해서는 안됩니다.
  5. 문서가 UTF-8이라고 가정

구문

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

where:

charset
사용되는 문자 인코딩을 나타내는 <string>입니다. IANA-registry에 정의된 웹 안전 문자 인코딩의 이름이어야 합니다. 여러 이름이 인코딩과 관련된 경우, preferred로 표시된 것만 사용되어야 합니다.

형식 구문

@charset "<charset>";

예제

@charset "UTF-8";       /* 스타일 시트의 인코딩을 Unicode UTF-8로 설정 */
@charset 'iso-8859-15'; /* 스타일 시트의 인코딩을 Latin-9 (서유럽어, euro sign 있는) 로 설정 */
 @charset "UTF-8";      /* 무효한, at-규칙 앞에 문자(공백)가 있음 */
@charset UTF-8;         /* 무효한, ' 또는 " 없는 문자집합 CSS <string>이 아님 */

스펙

스펙 상태 설명
CSS Level 2 (Revision 1)
The definition of '@charset' in that specification.
Recommendation 초기 정의

브라우저 호환성

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 2.0 1.5 (1.8)[1] 5.5[2] 9 4
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 2.1 1.0 (1.8) 5.5[2] 10.0 4

[1] Firefox 1.0은 문자 인코딩이 작은 또는 큰 따옴표 사이에 설정되지 않은 무효한 구문만 지원했습니다.

[2] IE 5.5에서 IE 7(포함)까지, IE는 문자 인코딩이 작은 또는 큰 따옴표 사이에 설정되지 않은 무효한 구문도 지원했습니다.

문서 태그 및 공헌자

이 페이지의 공헌자: Netaras
최종 변경자: Netaras,