CSS oklab() 함수형 표기: Oklab 색 구문
Baseline2023최근 지원 시작 
2023년 5월부터 모든 주요 브라우저가 지원하는 기능입니다.
oklab()
함수형 표기는 Oklab 색공간의 색을 표현합니다. 선택적으로 알파 성분이 색의 투명도를 나타냅니다.
Oklab은 인간의 눈이 색을 보는 방식을 모사하는 색공간으로서 다음과 같은 작업에 유용합니다.
- 이미지의 명도를 유지하면서 흑백으로 만들기
- 색상과 명도를 유지하고 채도만 조절하기
- 부드럽고 균일한 그레이디언트 생성하기
oklab()
은 a축과 b축의 데카르트 좌표계를 사용합니다. 좀 더 이해하기 쉬운 채도와 색상의 극좌표계를 사용하려면 oklch()
를 사용하세요.
#color {
background-color: oklab(0.88 -0.01 0.18);
/* background-color: oklab(0.57 -0.08 0.03); */
/* background-color: oklab(0.8 -0.09 0.15 / 0.7); */
/* background-color: oklab(0.87 -0.23 0.18 / 0.25); */
}
#color {
width: 100px;
height: 100px;
}
<div id="color"></div>
불러오는 중...
구문
/* 절대 값 */
oklab(40.1% 0.1143 0.045);
oklab(59.69% 0.1007 0.1191);
oklab(59.69% 0.1007 0.1191 / 0.5);
/* 상대 값 */
oklab(from green l a b / 0.5)
oklab(from #0000FF calc(l + 0.1) a b / calc(alpha * 0.9))
oklab(from hsl(180 100% 50%) calc(l - 0.1) a b)
값
절대 값 구문
oklab(L a b[ / A])
L
색의 밝기를 나타내는
0
이상1
이하의<number>
,0%
이상100%
이하의<percentage>
, 또는 키워드none
(0%
와 같음) 값입니다.100%
는 흰색,0%
는 검은색입니다.a
색의
a
축 성분을 나타내는-0.4
이상0.4
이하의<number>
,-100%
이상100%
이하의<percentage>
, 또는 키워드none
(0%
와 같음) 값입니다.a
축은 색이 얼마나 녹색인지 (-0.4
), 또는 적색인지 (0.4
) 나타냅니다.이론적으로는 값의 범위에 제한이 없으므로
±0.4
(±100%
) 밖의 값도 사용할 수 있습니다. 실제로는±0.5
를 벗어나는 색은 없습니다.b
색의
b
축 성분을 나타내는-0.4
이상0.4
이하의<number>
,-100%
이상100%
이하의<percentage>
, 또는 키워드none
(0%
와 같음) 값입니다.b
축은 색이 얼마나 청색인지 (-0.4
), 또는 황색인지 (0.4
) 나타냅니다.이론적으로는 값의 범위에 제한이 없으므로
±0.4
(±100%
) 밖의 값도 사용할 수 있습니다. 실제로는±0.5
를 벗어나는 색은 없습니다.A
(선택사항)색의 알파 채널을 나타내는
<alpha-value>
값입니다.0
은0%
(완전 투명),1
은100%
(완전 불투명)입니다.none
을 사용해 알파 채널이 없음을 명시할 수도 있습니다.A
값을 생략하면100%
와 같습니다. 생략하지 않을 경우 앞의 세 값과/
로 구분해야 합니다.
상대 값 구문
lab(from <color> L a b[ / A])
from <color>
상대 색의 기준색을 나타내는
<color>
값입니다. 앞의from
까지 포함해야 합니다. 기준색으로는 다른 상대색을 포함한 아무<color>
값이나 사용할 수 있습니다.L
색의 밝기를 나타내는
0
이상100
이하의<number>
,0%
이상100%
이하의<percentage>
, 또는 키워드none
(0%
와 같음) 값입니다.100%
는 흰색,0%
는 검은색입니다.a
색의
a
축 성분을 나타내는-0.4
이상0.4
이하의<number>
,-100%
이상100%
이하의<percentage>
, 또는 키워드none
(0%
와 같음) 값입니다.a
축은 색이 얼마나 녹색인지 (-0.4
), 또는 적색인지 (0.4
) 나타냅니다.이론적으로는 값의 범위에 제한이 없으므로
±0.4
(±100%
) 밖의 값도 사용할 수 있습니다. 실제로는±0.5
를 벗어나는 색은 없습니다.b
색의
b
축 성분을 나타내는-0.4
이상0.4
이하의<number>
,-100%
이상100%
이하의<percentage>
, 또는 키워드none
(0%
와 같음) 값입니다.b
축은 색이 얼마나 청색인지 (-0.4
), 또는 황색인지 (0.4
) 나타냅니다.이론적으로는 값의 범위에 제한이 없으므로
±0.4
(±100%
) 밖의 값도 사용할 수 있습니다. 실제로는±0.5
를 벗어나는 색은 없습니다.A
(선택사항)색의 알파 채널을 나타내는
<alpha-value>
값입니다.0
은0%
(완전 투명),1
은100%
(완전 불투명)입니다.none
을 사용해 알파 채널이 없음을 명시할 수도 있습니다.A
값을 생략하면100%
와 같습니다. 생략하지 않을 경우 앞의 세 값과/
로 구분해야 합니다.
명세
브라우저 호환성
데스크톱 | 모바일 | ||||||
---|---|---|---|---|---|---|---|
iOS | Android | ||||||
Safari | Chrome | Firefox | Safari | Chrome | Firefox | Samsung Internet | |
oklab() (Oklab color model) | |||||||
Mix <percentage> and <number> in parameters | |||||||
Relative Oklab colors |