CSS oklab() 함수형 표기: Oklab 색 구문

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> 값입니다. 00% (완전 투명), 1100% (완전 불투명)입니다. 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> 값입니다. 00% (완전 투명), 1100% (완전 불투명)입니다. none을 사용해 알파 채널이 없음을 명시할 수도 있습니다.

A 값을 생략하면 100%와 같습니다. 생략하지 않을 경우 앞의 세 값과 /로 구분해야 합니다.

명세

브라우저 호환성

MDN browser-compat-data
데스크톱모바일
iOSAndroid
SafariChromeFirefoxSafariChromeFirefoxSamsung Internet
oklab() (Oklab color model)
Mix <percentage> and <number> in parameters
Relative Oklab colors

마지막 수정:

CC BY-SA 4.0 unless otherwise noted. See LICENSE.