Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). W3C liability, trademark and permissive document license rules apply.
CSS(Cascading Style Sheets)는 HTML 및 XML 문서를 화면, 종이, 음성 등에서 렌더링하는 방식을 설명하는 언어입니다. CSS는 문서 내 요소의 텍스트, 배경, 테두리 및 기타 부분을 색칠하기 위해 색상 관련 속성과 값을 사용합니다. 이 명세서는 전경색과 그룹 불투명도를 위한 색상 값 및 속성을 설명합니다. 여기에는 CSS 레벨 2에서 가져온 속성과 값, 그리고 새로운 값들이 포함되어 있습니다.
이 섹션은 이 문서가 발행된 시점의 상태를 설명합니다. 현재 W3C 발행물 및 이 기술 보고서의 최신 개정판 목록은 W3C 기술 보고서 인덱스 https://www.w3.org/TR/에서 확인할 수 있습니다.
이 문서는 CSS 워킹 그룹에 의해 권고안으로 발행되었으며, 권고안 트랙을 따릅니다.
W3C 권고안은 광범위한 합의 구축 과정을 거친 후 W3C와 그 회원들에 의해 승인된 명세서로, 구현을 위해 로열티 없는 라이선스에 대한 워킹 그룹 회원의 약속이 포함됩니다.
W3C는 이 명세서를 웹 표준으로 널리 배포할 것을 권장합니다.
이 문서는 W3C 특허 정책 하에서 운영되는 그룹에 의해 작성되었습니다. W3C는 그룹의 산출물과 관련하여 공개된 특허 공개 목록을 유지 관리하며, 해당 페이지에는 특허를 공개하는 방법에 대한 지침도 포함되어 있습니다. 특정 개인이 필수 청구사항을 포함한다고 믿는 특허에 대한 실제 지식을 가지고 있는 경우, W3C 특허 정책 섹션 6에 따라 정보를 공개해야 합니다.
이 문서는 2021년 11월 2일 W3C 프로세스 문서에 의해 관리됩니다.
별도의 구현 보고서에서 테스트 스위트의 각 테스트가 최소 두 개의 독립적인 구현에서 통과했음을 보여줍니다. 하지만 대부분의 테스트는 이제 CSS Color 4로 업데이트되었습니다 (참조: 구현 보고서).
이 문서에 대한 변경 사항 목록은 확인 가능합니다.
이 섹션은 비규범적입니다.
CSS 레벨 2 이상의 내용은 모듈로 나뉘어 있으며, 명세와 구현이 점진적으로 개발되도록 설계되었습니다. 이 명세는 이러한 모듈 중 하나입니다.
이 모듈은 작성자가 요소의 전경색과 불투명도를 지정할 수 있는 CSS 속성을 설명합니다. 또한, CSS <color> 값 유형에 대해 상세히 설명합니다.
이 명세는 CSS1 및 CSS2에서 이미 존재하는 색상 관련 속성과 값을 정의할 뿐만 아니라, 새로운 속성과 값을 정의합니다.
이 명세는 다음과 같은 권고안 및 작업 초안의 관련 부분을 병합하고, 몇 가지 새로운 기능을 추가한 결과물입니다.
추가 용어는 정의 섹션에서 확인할 수 있으며, [CSS21]에 포함되어 있습니다. 문서 소스 코드 및 조각의 예제는 XML [XML10] 또는 HTML [HTML401] 구문으로 제공됩니다.
color
’ 속성
이름: | color |
---|---|
값: | <color> | 상속 |
초기값: | 사용자 에이전트에 따라 다름 |
적용 대상: | 모든 요소 |
상속됨: | 예 |
백분율: | 해당 없음 |
계산된 값: |
|
이 속성은 요소의 텍스트 콘텐츠의 전경색을 설명합니다.
또한, 색상 값을 허용하는 다른 속성에 대한 간접 값을 제공하기 위해 사용됩니다 (currentColor).
‘currentColor
’ 키워드가
‘color
’ 속성
자체에 설정된 경우, 이는 ‘color: inherit
’로 처리됩니다.
라임 그린을 지정하는 방법에는 여러 가지가 있습니다:
em { color: lime } /* 색상 키워드 */ em { color: rgb(0,255,0) } /* RGB 범위 0-255 */
opacity
’
속성투명도는 후처리 작업으로 간주될 수 있습니다. 개념적으로, 요소(및 그 하위 요소)가 RGBA 오프스크린 이미지로 렌더링된 후, 투명도 설정은 오프스크린 렌더링을 현재 합성 렌더링에 어떻게 블렌딩할지 지정합니다. 자세한 내용은 단순 알파 합성을 참조하세요.
이름: | opacity |
---|---|
값: | <alphavalue> | 상속 |
초기값: | 1 |
적용 대상: | 모든 요소 |
상속됨: | 아니요 |
백분율: | 해당 없음 |
계산된 값: | <alphavalue>를 [0.0, 1.0] 범위로 클리핑한 후 지정된 값과 동일합니다. |
투명도가 1보다 작은 요소는 단일 오프스크린 이미지에서 합성되므로, 그 외부의 콘텐츠는 내부 콘텐츠 조각 사이의 z-순서로 계층화될 수 없습니다. 같은 이유로, 구현은 투명도가 1보다 작은 요소에 대해
새 스태킹 컨텍스트를 생성해야 합니다. 투명도가 1보다 작은 요소가 위치 지정되지 않은 경우, 해당 요소는 스택 레벨 0의 위치 지정된 요소와 동일한 계층에서 부모 스태킹 컨텍스트 내에 렌더링됩니다.
투명도가 1보다 작은 요소가 위치 지정된 경우, ‘z-index
’ 속성은 [CSS21]에서 설명된 대로 적용되지만, 사용된 값이 ‘auto
’인 경우 해당
요소는 정확히 ‘0
’인 것처럼 작동합니다. 스태킹 컨텍스트에 대한 자세한 내용은 섹션 9.9 및 부록 E를 참조하세요. 이 단락의 규칙은 SVG 요소에는 적용되지 않습니다. SVG는 자체 렌더링 모델([SVG11],
3장)을 가지고 있기 때문입니다.
<color>는 키워드 또는 숫자 사양 중 하나입니다.
기본 색상 키워드 목록은 다음과 같습니다: aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, yellow. 색상 이름은 ASCII 대소문자 구분 없음입니다.
이름 | 숫자 | 색상 이름 | Hex rgb | 10진수 |
---|---|---|---|---|
black | #000000 | 0,0,0 | ||
silver | #C0C0C0 | 192,192,192 | ||
gray | #808080 | 128,128,128 | ||
white | #FFFFFF | 255,255,255 | ||
maroon | #800000 | 128,0,0 | ||
red | #FF0000 | 255,0,0 | ||
purple | #800080 | 128,0,128 | ||
fuchsia | #FF00FF | 255,0,255 | ||
green | #008000 | 0,128,0 | ||
lime | #00FF00 | 0,255,0 | ||
olive | #808000 | 128,128,0 | ||
yellow | #FFFF00 | 255,255,0 | ||
navy | #000080 | 0,0,128 | ||
blue | #0000FF | 0,0,255 | ||
teal | #008080 | 0,128,128 | ||
aqua | #00FFFF | 0,255,255 |
body {color: black; background: white } h1 { color: maroon } h2 { color: olive }
RGB 색상 모델은 숫자 색상 사양에 사용됩니다. 다음 예제는 모두 동일한 색상을 지정합니다:
em { color: #f00 } /* #rgb */ em { color: #ff0000 } /* #rrggbb */ em { color: rgb(255,0,0) } em { color: rgb(100%, 0%, 0%) }
RGB 값을 16진수 표기법으로 표현한 형식은 ‘#
’ 뒤에 바로 세 자리 또는 여섯 자리 16진수 문자가 옵니다. 세 자리 RGB 표기법(#rgb)은 숫자를 반복하여 여섯 자리 형식(#rrggbb)으로
변환되며, 0을 추가하지 않습니다. 예를 들어, #fb0은 #ffbb00으로 확장됩니다. 이는 #fff와 같은 짧은 표기로 흰색(#ffffff)을 지정할 수 있도록 보장하며, 디스플레이의 색상 깊이에
대한 의존성을 제거합니다.
RGB 값을 함수 표기법으로 나타낸 형식은 ‘rgb(
’ 뒤에 세 개의 숫자 값(정수 값 세 개 또는 백분율 값 세 개)이 쉼표로 구분되어 나타나며, 마지막에
‘)
’로 닫힙니다. 정수 값 255는 100%에 해당하며, 16진수 표기법에서는 F 또는 FF에 해당합니다: rgb(255,255,255) =
rgb(100%,100%,100%) = #FFF. 숫자 값 주위에는 공백 문자를 포함할 수 있습니다.
모든 RGB 색상은 sRGB 색상 공간에서 지정됩니다(참조: [SRGB]). 사용자 에이전트는 이러한 색상을 표현하는 정확도에서 차이가 있을 수 있지만, sRGB를 사용하면 색상이 무엇인지에 대한 명확하고 객관적으로 측정 가능한 정의를 제공하며, 국제 표준과 연관될 수 있습니다(참조: [COLORIMETRY]).
디바이스 색역(gamut) 밖의 값은 색역이 알려진 경우 색역 안으로 잘리거나 매핑되어야 합니다. 빨강, 초록, 파랑 값은 디바이스가 지원하는 범위 내로 변경되어야 합니다. 사용자 에이전트는 한 색역에서 다른 색역으로 색상을 매핑할 때 더 높은 품질의 매핑을 수행할 수 있습니다. 이 명세는 정확한 클리핑 동작을 정의하지 않습니다. sRGB와 동일한 디바이스 색역을 가진 일반적인 CRT 모니터의 경우, 아래 네 가지 규칙은 동일합니다:
em { color: rgb(255,0,0) } /* 정수 범위 0 - 255 */ em { color: rgb(300,0,0) } /* rgb(255,0,0)으로 잘림 */ em { color: rgb(255,-10,0) } /* rgb(255,0,0)으로 잘림 */ em { color: rgb(110%, 0%, 0%) } /* rgb(100%,0%,0%)으로 잘림 */
프린터와 같은 다른 디바이스는 sRGB와 다른 색역을 가지고 있습니다. 0..255 sRGB 범위를 벗어난 일부 색상은 표현 가능(디바이스 색역 안)하지만, 0..255 sRGB 범위 내의 다른 색상은 디바이스 색역 밖에 있으므로 매핑됩니다.
RGB 색상 모델은 이 명세에서 "알파"를 포함하도록 확장되어 색상의 불투명도를 지정할 수 있습니다. 자세한 내용은 단순 알파 합성을 참조하세요. 다음 예제는 모두 동일한 색상을 지정합니다:
em { color: rgb(255,0,0) } /* 정수 범위 0 - 255 */ em { color: rgba(255,0,0,1) /* 동일, 명시적 불투명도 1 포함 */ em { color: rgb(100%,0%,0%) } /* 부동 소수점 범위 0.0% - 100.0% */ em { color: rgba(100%,0%,0%,1) } /* 동일, 명시적 불투명도 1 포함 */
RGB 값과 달리 RGBA 값에는 16진수 표기법이 없습니다.
RGBA 값을 함수 표기법으로 나타낸 형식은 ‘rgba(
’ 뒤에 쉼표로 구분된 세 개의 숫자 값(정수 값 세 개 또는 백분율 값 세 개), <alphavalue>, 그리고 ‘)
’로 닫힙니다. 정수 값 255는 100%에 해당하며, rgba(255,255,255,0.8) = rgba(100%,100%,100%,0.8). 숫자 값 주위에는
공백 문자를 포함할 수 있습니다.
구현은 RGBA 색상 값의 빨강, 초록, 파랑 구성 요소를 해당 구성 요소로 구성된 RGB 색상 값에 대한 규칙에 따라 디바이스 색역으로 잘라야 합니다.
다음 예제는 rgba() 표기법으로 가능한 효과를 지정합니다:
p { color: rgba(0,0,255,0.5) } /* 반투명한 단색 파란색 */ p { color: rgba(100%, 50%, 0%, 0.1) } /* 매우 투명한 단색 주황색 */
참고. RGBA 값이 사용자 에이전트에서 지원되지 않는 경우, 이는 CSS의 전방 호환성 구문 분석 규칙([CSS21], 4장)에 따라 인식되지 않는 값으로 처리되어야 합니다. RGBA 값은 단순히 투명도를 무시한 RGB 값으로 처리되어서는 안 됩니다.
transparent
’ 색상 키워드CSS1은 배경색 속성을 위한 ‘transparent
’ 값을 도입했습니다. CSS2는 테두리
색상(border-color)도 ‘transparent
’ 값을 허용했습니다. Open eBook(tm)
Publication Structure 1.0.1 [OEB101]은 ‘color
’ 속성도 ‘transparent
’
키워드를 허용하도록 확장했습니다. CSS3는 모든 <color> 값을 허용하는 속성에서 ‘transparent
’ 키워드를 사용할 수 있도록 색상 값을 확장했습니다. 이는 CSS3에서 이러한 속성의 정의를 단순화합니다.
CSS3는 숫자 색상 모델을 추가하여 숫자 RGB 색상을 보완합니다. RGB 색상은 다음과 같은 한계를 가지고 있습니다:
다른 색상 체계도 가능합니다. HSL의 장점 중 일부는 밝기와 어둡기에 대칭적이라는 점(HSL과 달리 HSV는 그렇지 않음)이 있으며, HSL을 RGB로 변환하는 것이 매우 간단하다는 것입니다.
HSL 색상은 (색조, 채도, 밝기)의 세 가지 값으로 인코딩됩니다. 색조는 색상 원(즉, 원형으로 표현된 무지개)의 각도로 표현됩니다. CSS에서 이 각도는 일반적으로 도 단위로 측정되므로 단위가 암묵적입니다. 구문적으로는 <number>만 제공됩니다. 정의에 따라 빨강=0=360이며, 다른 색상은 원을 따라 배치됩니다. 예를 들어 초록=120, 파랑=240 등입니다. 각도로서 -120=240 및 480=120과 같이 암묵적으로 순환합니다. 구현에서 각도 x를 [0,360) 범위(즉, 0도 포함, 360도 제외)로 정규화하는 한 가지 방법은 (((x mod 360) + 360) mod 360)을 계산하는 것입니다. 채도와 밝기는 백분율로 표현됩니다. 100%는 완전 채도, 0%는 회색 음영입니다. 0% 밝기는 검정, 100% 밝기는 흰색, 50% 밝기는 "보통"입니다.
예를 들어:
* { color: hsl(0, 100%, 50%) } /* 빨강 */ * { color: hsl(120, 100%, 50%) } /* 라임 */ * { color: hsl(120, 100%, 25%) } /* 어두운 초록 */ * { color: hsl(120, 100%, 75%) } /* 밝은 초록 */ * { color: hsl(120, 75%, 75%) } /* 파스텔 초록 등 */
HSL의 장점은 RGB보다 훨씬 더 직관적이라는 점입니다: 원하는 색상을 추측한 후 조정할 수 있습니다. 또한 색조를 동일하게 유지하고 밝기/어둡기 및 채도를 변경하여 일치하는 색상 세트를 만들기가 더 쉽습니다.
채도가 0% 미만인 경우, 구현은 이를 0%로 잘라야 합니다. 결과 값이 디바이스 색역을 벗어나는 경우, 구현은 이를 디바이스 색역으로 잘라야 합니다. 이 클리핑은 가능하다면 색조를 유지해야 하지만, 그렇지 않은 경우 정의되지 않습니다. (즉, 클리핑은 아래 알고리즘을 사용하여 HSL을 RGB로 변환한 후 RGB 색상을 클리핑하는 규칙을 적용하는 것과는 다릅니다.)
HSL 색상을 sRGB로 변환하는 것은 수학적으로 간단합니다. 다음은 JavaScript로 변환 알고리즘을 구현한 샘플입니다. 이 함수는 색상의 빨강, 초록, 파랑 채널을 나타내는 세 개의 숫자 배열을 반환하며, [0, 1] 범위로 정규화됩니다.
function hslToRgb (hue, sat, light) { hue = hue % 360; if (hue < 0) { hue += 360; } sat /= 100; light /= 100; function f(n) { let k = (n + hue/30) % 12; let a = sat * Math.min(light, 1 - light); return light - a * Math.max(-1, Math.min(k - 3, 9 - k, 1)); } return [f(0), f(8), f(4)]; }
아래 각 표는 한 가지 색조를 나타냅니다. 컬러 원에서 30° 간격으로 동일하게 배치된 12가지 색상: 빨강, 노랑, 초록, 청록, 파랑, 자홍색과 그 중간 색상이 선택되었습니다. (마지막 색상은 자홍색과 빨강 사이의 색상입니다.)
각 표에서 X축은 채도를 나타내고 Y축은 밝기를 나타냅니다.
0° 빨강 | ||||||
---|---|---|---|---|---|---|
100% | 80% | 60% | 40% | 20% | 0% | |
100% | ||||||
90% | ||||||
80% | ||||||
70% | ||||||
60% | ||||||
50% | ||||||
40% | ||||||
30% | ||||||
20% | ||||||
10% | ||||||
0% |
30° 빨강-노랑 (=주황) | ||||||
---|---|---|---|---|---|---|
100% | 80% | 60% | 40% | 20% | 0% | |
100% | ||||||
90% | ||||||
80% | ||||||
70% | ||||||
60% | ||||||
50% | ||||||
40% | ||||||
30% | ||||||
20% | ||||||
10% | ||||||
0% |
60° 노랑 | ||||||
---|---|---|---|---|---|---|
100% | 80% | 60% | 40% | 20% | 0% | |
100% | ||||||
90% | ||||||
80% | ||||||
70% | ||||||
60% | ||||||
50% | ||||||
40% | ||||||
30% | ||||||
20% | ||||||
10% | ||||||
0% |
90° 노랑-초록 | ||||||
---|---|---|---|---|---|---|
100% | 80% | 60% | 40% | 20% | 0% | |
100% | ||||||
90% | ||||||
80% | ||||||
70% | ||||||
60% | ||||||
50% | ||||||
40% | ||||||
30% | ||||||
20% | ||||||
10% | ||||||
0% |
120° 초록 | ||||||
---|---|---|---|---|---|---|
100% | 80% | 60% | 40% | 20% | 0% | |
100% | ||||||
90% | ||||||
80% | ||||||
70% | ||||||
60% | ||||||
50% | ||||||
40% | ||||||
30% | ||||||
20% | ||||||
10% | ||||||
0% |
150° 초록-청록 | ||||||
---|---|---|---|---|---|---|
100% | 80% | 60% | 40% | 20% | 0% | |
100% | ||||||
90% | ||||||
80% | ||||||
70% | ||||||
60% | ||||||
50% | ||||||
40% | ||||||
30% | ||||||
20% | ||||||
10% | ||||||
0% |
180° 청록 | ||||||
---|---|---|---|---|---|---|
100% | 80% | 60% | 40% | 20% | 0% | |
100% | ||||||
90% | ||||||
80% | ||||||
70% | ||||||
60% | ||||||
50% | ||||||
40% | ||||||
30% | ||||||
20% | ||||||
10% | ||||||
0% |
210° 청록-파랑 | ||||||
---|---|---|---|---|---|---|
100% | 80% | 60% | 40% | 20% | 0% | |
100% | ||||||
90% | ||||||
80% | ||||||
70% | ||||||
60% | ||||||
50% | ||||||
40% | ||||||
30% | ||||||
20% | ||||||
10% | ||||||
0% |
240° 파랑 | ||||||
---|---|---|---|---|---|---|
100% | 80% | 60% | 40% | 20% | 0% | |
100% | ||||||
90% | ||||||
80% | ||||||
70% | ||||||
60% | ||||||
50% | ||||||
40% | ||||||
30% | ||||||
20% | ||||||
10% | ||||||
0% |
270° 파랑-자홍 | ||||||
---|---|---|---|---|---|---|
100% | 80% | 60% | 40% | 20% | 0% | |
100% | ||||||
90% | ||||||
80% | ||||||
70% | ||||||
60% | ||||||
50% | ||||||
40% | ||||||
30% | ||||||
20% | ||||||
10% | ||||||
0% |
300° 자홍 | ||||||
---|---|---|---|---|---|---|
100% | 80% | 60% | 40% | 20% | 0% | |
100% | ||||||
90% | ||||||
80% | ||||||
70% | ||||||
60% | ||||||
50% | ||||||
40% | ||||||
30% | ||||||
20% | ||||||
10% | ||||||
0% |
330° 자홍-빨강 | ||||||
---|---|---|---|---|---|---|
100% | 80% | 60% | 40% | 20% | 0% | |
100% | ||||||
90% | ||||||
80% | ||||||
70% | ||||||
60% | ||||||
50% | ||||||
40% | ||||||
30% | ||||||
20% | ||||||
10% | ||||||
0% |
‘rgb()
’ 함수 표기법에 ‘rgba()
’ 알파 대응 항목이 있는 것처럼, ‘hsl()
’ 함수 표기법에도 ‘hsla()
’ 알파 대응 항목이 있습니다. 자세한 내용은 간단한 알파 합성을 참조하세요. 다음 예시는
동일한 색상을 지정합니다:
em { color: hsl(120, 100%, 50%) } /* 초록색 */ em { color: hsla(120, 100%, 50%, 1) } /* 동일하며, 투명도가 1로 명시 */
HSLA 색상 값의 함수 표기법 형식은 ‘hsla(
’ 다음에 각도 단위의 색조(hue), 백분율로 표현된 채도(saturation)와 명도(lightness),
그리고 <alphavalue>가 뒤따르며, 마지막으로 ‘)
’로 끝납니다. 공백 문자는 숫자 값 주변에 허용됩니다.
구현은 HSLA 색상 값의 색조, 채도, 명도 구성 요소를 해당 구성 요소로 구성된 HSL 색상 값에 대한 규칙에 따라 장치 색역으로 클리핑해야 합니다.
다음 예시는 hsla() 표기법으로 가능한 효과를 지정합니다:
p { color: hsla(240, 100%, 50%, 0.5) } /* 반투명 고체 파란색 */ p { color: hsla(30, 100%, 50%, 0.1) } /* 매우 투명한 고체 주황색 */
아래 표는 [X11COLORS]에서 가져온 X11 색상 목록이며, SVG 1.0의 회색(그레이) 변형을 추가한 것입니다. 결과 목록은 SVG 1.0 색상 키워드 이름과 정확히 동일합니다. 이 명세는 SVG를 넘어 그 정의를 확장합니다. 왼쪽의 두 색상 견본은 테이블 셀의 배경색을 설정하는 두 가지 방법을 보여줍니다: 첫 번째 열은 명명된 색상 값을 사용하고, 두 번째 열은 해당 숫자 색상 값을 사용합니다.
명명된 값 | 숫자 값 | 색상 이름 | Hex rgb | 십진수 값 |
---|---|---|---|---|
aliceblue | #f0f8ff | 240,248,255 | ||
antiquewhite | #faebd7 | 250,235,215 | ||
aqua | #00ffff | 0,255,255 | ||
aquamarine | #7fffd4 | 127,255,212 | ||
azure | #f0ffff | 240,255,255 | ||
beige | #f5f5dc | 245,245,220 | ||
bisque | #ffe4c4 | 255,228,196 | ||
black | #000000 | 0,0,0 | ||
blanchedalmond | #ffebcd | 255,235,205 | ||
blue | #0000ff | 0,0,255 | ||
blueviolet | #8a2be2 | 138,43,226 | ||
brown | #a52a2a | 165,42,42 | ||
burlywood | #deb887 | 222,184,135 | ||
cadetblue | #5f9ea0 | 95,158,160 | ||
chartreuse | #7fff00 | 127,255,0 | ||
chocolate | #d2691e | 210,105,30 | ||
coral | #ff7f50 | 255,127,80 | ||
cornflowerblue | #6495ed | 100,149,237 | ||
cornsilk | #fff8dc | 255,248,220 | ||
crimson | #dc143c | 220,20,60 | ||
cyan | #00ffff | 0,255,255 | ||
darkblue | #00008b | 0,0,139 | ||
darkcyan | #008b8b | 0,139,139 | ||
darkgoldenrod | #b8860b | 184,134,11 | ||
darkgray | #a9a9a9 | 169,169,169 | ||
darkgreen | #006400 | 0,100,0 | ||
darkgrey | #a9a9a9 | 169,169,169 | ||
darkkhaki | #bdb76b | 189,183,107 | ||
darkmagenta | #8b008b | 139,0,139 | ||
darkolivegreen | #556b2f | 85,107,47 | ||
darkorange | #ff8c00 | 255,140,0 | ||
darkorchid | #9932cc | 153,50,204 | ||
darkred | #8b0000 | 139,0,0 | ||
darksalmon | #e9967a | 233,150,122 | ||
darkseagreen | #8fbc8f | 143,188,143 | ||
darkslateblue | #483d8b | 72,61,139 | ||
darkslategray | #2f4f4f | 47,79,79 | ||
darkslategrey | #2f4f4f | 47,79,79 | ||
darkturquoise | #00ced1 | 0,206,209 | ||
darkviolet | #9400d3 | 148,0,211 | ||
deeppink | #ff1493 | 255,20,147 | ||
deepskyblue | #00bfff | 0,191,255 | ||
dimgray | #696969 | 105,105,105 | ||
dimgrey | #696969 | 105,105,105 | ||
dodgerblue | #1e90ff | 30,144,255 | ||
firebrick | #b22222 | 178,34,34 | ||
floralwhite | #fffaf0 | 255,250,240 | ||
forestgreen | #228b22 | 34,139,34 | ||
fuchsia | #ff00ff | 255,0,255 | ||
gainsboro | #dcdcdc | 220,220,220 | ||
ghostwhite | #f8f8ff | 248,248,255 | ||
gold | #ffd700 | 255,215,0 | ||
goldenrod | #daa520 | 218,165,32 | ||
gray | #808080 | 128,128,128 | ||
green | #008000 | 0,128,0 | ||
greenyellow | #adff2f | 173,255,47 | ||
grey | #808080 | 128,128,128 | ||
honeydew | #f0fff0 | 240,255,240 | ||
hotpink | #ff69b4 | 255,105,180 | ||
indianred | #cd5c5c | 205,92,92 | ||
indigo | #4b0082 | 75,0,130 | ||
ivory | #fffff0 | 255,255,240 | ||
khaki | #f0e68c | 240,230,140 | ||
lavender | #e6e6fa | 230,230,250 | ||
lavenderblush | #fff0f5 | 255,240,245 | ||
lawngreen | #7cfc00 | 124,252,0 | ||
lemonchiffon | #fffacd | 255,250,205 | ||
lightblue | #add8e6 | 173,216,230 | ||
lightcoral | #f08080 | 240,128,128 | ||
lightcyan | #e0ffff | 224,255,255 | ||
lightgoldenrodyellow | #fafad2 | 250,250,210 | ||
lightgray | #d3d3d3 | 211,211,211 | ||
lightgreen | #90ee90 | 144,238,144 | ||
lightgrey | #d3d3d3 | 211,211,211 | ||
lightpink | #ffb6c1 | 255,182,193 | ||
lightsalmon | #ffa07a | 255,160,122 | ||
lightseagreen | #20b2aa | 32,178,170 | ||
lightskyblue | #87cefa | 135,206,250 | ||
lightslategray | #778899 | 119,136,153 | ||
lightslategrey | #778899 | 119,136,153 | ||
lightsteelblue | #b0c4de | 176,196,222 | ||
lightyellow | #ffffe0 | 255,255,224 | ||
lime | #00ff00 | 0,255,0 | ||
limegreen | #32cd32 | 50,205,50 | ||
linen | #faf0e6 | 250,240,230 | ||
magenta | #ff00ff | 255,0,255 | ||
maroon | #800000 | 128,0,0 | ||
mediumaquamarine | #66cdaa | 102,205,170 | ||
mediumblue | #0000cd | 0,0,205 | ||
mediumorchid | #ba55d3 | 186,85,211 | ||
mediumpurple | #9370db | 147,112,219 | ||
mediumseagreen | #3cb371 | 60,179,113 | ||
mediumslateblue | #7b68ee | 123,104,238 | ||
mediumspringgreen | #00fa9a | 0,250,154 | ||
mediumturquoise | #48d1cc | 72,209,204 | ||
mediumvioletred | #c71585 | 199,21,133 | ||
midnightblue | #191970 | 25,25,112 | ||
mintcream | #f5fffa | 245,255,250 | ||
mistyrose | #ffe4e1 | 255,228,225 | ||
moccasin | #ffe4b5 | 255,228,181 | ||
navajowhite | #ffdead | 255,222,173 | ||
navy | #000080 | 0,0,128 | ||
oldlace | #fdf5e6 | 253,245,230 | ||
olive | #808000 | 128,128,0 | ||
olivedrab | #6b8e23 | 107,142,35 | ||
orange | #ffa500 | 255,165,0 | ||
orangered | #ff4500 | 255,69,0 | ||
orchid | #da70d6 | 218,112,214 | ||
palegoldenrod | #eee8aa | 238,232,170 | ||
palegreen | #98fb98 | 152,251,152 | ||
paleturquoise | #afeeee | 175,238,238 | ||
palevioletred | #db7093 | 219,112,147 | ||
papayawhip | #ffefd5 | 255,239,213 | ||
peachpuff | #ffdab9 | 255,218,185 | ||
peru | #cd853f | 205,133,63 | ||
pink | #ffc0cb | 255,192,203 | ||
plum | #dda0dd | 221,160,221 | ||
powderblue | #b0e0e6 | 176,224,230 | ||
purple | #800080 | 128,0,128 | ||
red | #ff0000 | 255,0,0 | ||
rosybrown | #bc8f8f | 188,143,143 | ||
royalblue | #4169e1 | 65,105,225 | ||
saddlebrown | #8b4513 | 139,69,19 | ||
salmon | #fa8072 | 250,128,114 | ||
sandybrown | #f4a460 | 244,164,96 | ||
seagreen | #2e8b57 | 46,139,87 | ||
seashell | #fff5ee | 255,245,238 | ||
sienna | #a0522d | 160,82,45 | ||
silver | #c0c0c0 | 192,192,192 | ||
skyblue | #87ceeb | 135,206,235 | ||
slateblue | #6a5acd | 106,90,205 | ||
slategray | #708090 | 112,128,144 | ||
slategrey | #708090 | 112,128,144 | ||
snow | #fffafa | 255,250,250 | ||
springgreen | #00ff7f | 0,255,127 | ||
steelblue | #4682b4 | 70,130,180 | ||
tan | #d2b48c | 210,180,140 | ||
teal | #008080 | 0,128,128 | ||
thistle | #d8bfd8 | 216,191,216 | ||
tomato | #ff6347 | 255,99,71 | ||
turquoise | #40e0d0 | 64,224,208 | ||
violet | #ee82ee | 238,130,238 | ||
wheat | #f5deb3 | 245,222,179 | ||
white | #ffffff | 255,255,255 | ||
whitesmoke | #f5f5f5 | 245,245,245 | ||
yellow | #ffff00 | 255,255,0 | ||
yellowgreen | #9acd32 | 154,205,50 |
currentColor
’ 색상
키워드CSS1과 CSS2는 ‘border-color
’
속성의 초기 값을 ‘
으로 정의했지만,
이에 상응하는 키워드를 정의하지 않았습니다. 이 누락은 SVG에서 인식되었으며, 따라서 SVG 1.0은 ‘color
’ 속성의 값currentColor
’
값을
‘fill
’, ‘stroke
’, ‘stop-color
’, ‘flood-color
’, ‘lighting-color
’ 속성에 도입했습니다. CSS3는 색상 값을 확장하여 모든
<color> 값을 허용하는 속성에서 ‘currentColor
’ 키워드를 사용할 수 있도록
했습니다.
이는 CSS3에서 해당 속성들의 정의를 단순화합니다.
color
’ 속성의 값. ‘currentColor
’
키워드의 사용된 값은 ‘color
’ 속성의 계산된 값입니다. 만약
‘currentColor
’ 키워드가
‘color
’ 속성 자체에 설정된다면, 이는
‘color: inherit
’로 처리됩니다.
더 이상 사용되지 않음. 텍스트, 배경 등에 색상 키워드 값을 할당할 수 있는 것 외에도, CSS2는 작성자가 색상을 사용자 그래픽 환경과 통합하는 방식으로 지정할 수 있도록 했습니다.
해당 값이 없는 시스템의 경우, 지정된 값은 가장 가까운 시스템 색상 값이나 기본 색상으로 매핑되어야 합니다. 일부 CSS 프로필은 시스템 색상을 전혀 지원하지 않을 수도 있다는 점에 유의하세요.
다음은 색상 관련 CSS 값과 그 일반적인 의미에 대한 추가 값을 나열한 것입니다. 모든 색상 속성은 다음 이름 중 하나를 사용할 수 있습니다. 이러한 값은 ASCII 대소문자 구분 없이 처리되지만, 아래에 표시된 혼합 대소문자 형식을 사용하는 것이 이름을 더 읽기 쉽게 만들기 위해 권장됩니다.
예를 들어, 단락의 전경색과 배경색을 사용자의 창 전경색과 배경색으로 설정하려면 다음을 작성합니다:
p { color: WindowText; background-color: Window }
색상은 문서에 상당한 정보를 추가하고 가독성을 높일 수 있지만, 문서에 색상을 포함할 때 W3C 웹 콘텐츠 접근성 가이드라인 [WCAG20]을 고려해 주세요.
그리기를 할 때 구현은 알파를 처리해야 하며,
현행 표준 [SVG11]의 14.2절 간단한 알파 블렌딩 규칙을 따라야 합니다. (해당 절에서 언급된 ‘color-interpolation
’ 또는 ‘color-rendering
’ 속성이 구현되지 않았거나 적용되지 않는 경우, 구현은 초기 값을 가진 것처럼 동작해야 합니다.)
이 부록은 참고용이며, 규범적이지 않습니다. 이 스타일 시트는 HTML4, XHTML1, XHTML1.1, XHTML Basic 및 기타 XHTML 계열 문서의 기본 스타일링의 일부로 구현에서 사용할 수 있습니다.
html { color: black; background: white; } /* 데스크탑 사용자 에이전트의 전통적인 하이퍼링크 색상 */ :link { color: blue; } :visited { color: purple; } /* 기본 포커스 윤곽 */ :focus { outline: 1px dotted; /* 또는 1px dotted invert */ }
CSS3 색상을 사용하는 각 명세는 허용하고 제외하는 CSS3 색상 기능의 하위 집합을 정의하고, 해당 하위 집합의 모든 구성 요소의 로컬 의미를 설명해야 합니다.
규범적이지 않은 예:
CSS3 색상 프로파일 | |
---|---|
명세 | HTML4 |
허용 | 기본 색상 키워드 RGB 6자리 16진수 색상 값 |
제외 | ‘color ’
속성‘ opacity ’
속성RGB 3자리 16진수 색상 값 및 RGB 함수 표기법 색상 값 RGBA 색상 값 HSL 및 HSLA 색상 값 확장된 색상 키워드 ‘ currentColor ’ 색상 값CSS2 UI 색상 ‘ transparent ’ 색상 값
|
추가 제약 | 없음. |
CSS3 색상 프로파일 | |
---|---|
명세 | CSS 레벨 1 |
허용 | ‘color ’
속성 기본 색상 키워드 RGB 색상 값 |
제외 | ‘opacity ’
속성RGBA 색상 값 HSL 및 HSLA 색상 값 확장된 색상 키워드 ‘ currentColor ’ 색상 값CSS2 UI 색상 ‘ transparent ’ 색상 값
|
추가 제약 | 없음. |
CSS3 색상 프로파일 | |
---|---|
명세 | CSS 레벨 2 |
허용 | ‘color ’
속성 기본 색상 키워드 RGB 색상 값 CSS2 UI 색상 ‘ transparent ’ 색상 값
|
제외 | ‘opacity ’
속성RGBA 색상 값 HSL 및 HSLA 색상 값 확장된 색상 키워드 ‘ currentColor ’ 색상 값
|
추가 제약 | ‘transparent ’ 색상 값은
‘color ’ 속성에 대해 유효하지 않습니다.‘ orange ’ 색상 값
(확장된 색상 키워드의 일부)은 CSS 레벨 2 수정 1에서 허용됩니다.
|
CSS3 색상 프로파일 | |
---|---|
명세 | SVG 1.0 및 1.1 |
허용 | ‘color ’
속성‘ opacity ’
속성기본 색상 키워드 RGB 색상 값 CSS2 UI 색상 확장된 색상 키워드 ‘ currentColor ’ 색상 값
|
제외 | RGBA 색상 값 HSL 및 HSLA 색상 값 ‘ transparent ’ 색상 값
|
추가 제약 | ‘currentColor ’ 색상 값은
‘color ’ 속성에 대해 유효하지 않습니다.
|
CSS 색상 모듈의 테스트 스위트가 개발되었으며, 추가 테스트가 포함될 수 있습니다. 이 테스트 스위트는 사용자 에이전트가 명세에 대한 기본 준수를 검증할 수 있도록 설계되었습니다. 이 테스트 스위트는 포괄적이지 않으며 모든 가능한 숫자 색상 값을 다루지 않습니다. 테스트는 https://test.csswg.org/harness/suite/css-color-3_dev/에서 확인할 수 있습니다.
이 섹션은 비규범적입니다.
ICC 프로파일을 지정하기 위한 ‘@color-profile
’ at-rule,
해당 프로파일의 렌더링 의도를 제어하는 방법, 그리고 이러한 프로파일을 사용하는
‘color-profile
’ 속성과 같은 색상 관리와 관련된 여러 기능이
당시 구현 관심 부족으로 CSS 색상 3에서 제거되었습니다.
관련 기능의 개발은 CSS 색상 4와 5로 계속 진행되었습니다;
‘color()
’ 함수,
‘@color-profile
’ at-rule,
그리고 ‘rendering-intent
’ 디스크립터를 참조하세요.
Brad Pettit에게는 색상 프로파일 작성과 구현에 대한 감사의 말씀을 드립니다. Steven Pemberton에게는 HSL 색상에 대한 작성에 대해 감사드립니다. Marc Attinasi, Bert Bos, Joe Clark, fantasai, Patrick Garies, Tony Graham, Ian Hickson, Susan Lesch, Alex LeDonne, Cameron McCormack, Krzysztof Maczyński, Chris Moschini, Chris Murphy, Christoph Päper, David Perrell, Jacob Refstrup, Dave Singer, Jonathan Stanley, Andrew Thompson, Russ Weakley, Etan Wexler, David Woolley, Boris Zbarsky, Steve Zilles, XSL WG의 XSL FO 소그룹과 모든 www-style 커뮤니티의 피드백에 특별히 감사드립니다. 그리고 CSS 색상 전문가로 활동해 주신 Chris Lilley에게도 감사드립니다.
다음 편집적인 수정이 이루어졌습니다:
이 문서는 2011년 6월 7일 권고와 다음과 같은 변경 사항을 포함합니다:
currentColor
’를 계산된 값으로 만들고,
사용된 값 시간에 해석되도록 함. 계산된 값에서 해석되지 않음.
(테스트,
결과).
이전 초안의 변경 사항은 이전 권고 변경 사항 및 그에 연결된 이전 버전을 참조하세요.
이전 의견 해결 사항:
속성 | 값 | 초기값 | 적용 대상 | 상속 | 백분율 |
---|---|---|---|---|---|
color | <color> | inherit | 사용자 에이전트에 따라 다름 | 예 | 해당 없음 | |
opacity | <alphavalue> | inherit | 1 | 아니요 | 해당 없음 |