요약
@charset
CSS at-규칙은 스타일 시트에 쓰이는 문자 인코딩을 지정합니다. 스타일 시트의 첫 번째 요소여야 하며 어떤 문자가 선행되지 않아야 합니다; 중첩된 문이 아니기에, 조건부 그룹 at-규칙 내에 사용될 수 없습니다. 여러 @charset
at-규칙이 정의된 경우, 첫 번째 것만 사용되고 HTML 요소의 style
attribute 또는 HTML 페이지의 문자 집합과 관련 있는 <style>
요소 내에서 사용될 수 없습니다.
이 at-규칙은 content
처럼 일부 CSS 속성(property)에서 비 ASCII 문자를 사용할 때 유용합니다.
스타일 시트의 문자 인코딩을 정의하는 여러 방법이 있기에, 브라우저는 다음과 같은 순서로 다음 방법을 시도합니다( 그리고 하나가 결과를 산출하자 마자 곧 멈춥니다):
- 파일의 시작 부분에 놓이는 Unicode byte-order 문자값.
Content-Type:
HTTP 헤더의charset
attribute 또는 스타일 시트를 제공하는 데 쓰이는 프로토콜 등가물에 주어진 값.@charset
CSS at-규칙.- 참조하는 문서에 의해 정의된 문자 인코딩 사용:
<link>
요소의charset
attribute. 이 메서드는 HTML5에서 폐기(obsolete)되어 사용해서는 안됩니다. - 문서가 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 | 초기 정의 |
브라우저 호환성
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는 문자 인코딩이 작은 또는 큰 따옴표 사이에 설정되지 않은 무효한 구문도 지원했습니다.