Functions

Color

개요

CSS는 색상을 사용하는 속성들이 많다. 다행히도 CSS는 다양한 타입의 색상 값을 지원한다. 기본적으로 표준 색상 키워드을 사용하는 것에서 부터 HEX 코드를 이용해서 색상을 지정한다. 추가적으로 내장된 함수를 통한 색상 지정도 가능할 뿐만 아니라 투명도까지 반영할 수 있다.

스크린용 디지털 디자인에서 기본적으로 사용하는 컬러모드는 RGB이다. 따라서 정교한 색상을 만들고자 하는 경우에는 직접적인 RGB 모드에서 고민하는 경우가 더 직관적일 수 있다. CSS Color Module Level 3(CSS 3)는 좀 더 친숙한 방식으로 색상을 지정하기 위해서 rgb(), rgba() 함수를 지원하기 시작했다.

사실 인간은 관용적으로 사용하는 색상 명을 빼고는 HEX 코드, RGB 값으로 실제 색을 이해하기는 어렵다. 그래서 좀더 친숙한 색상(hue), 채도(saturation), 밝기(lightness) 값을 이용해서 색을 만들 수 있는 HSL 모드도 지원하게 되었다. hsl(), hsla() 함수가 HSL 모드 방식으로 색상 값을 생성해 주는 함수이다.

추가적으로 최근 CSS Color Module Level 4에서는 색상(hue), 백색률(whiteness), 흑색률(blackness)을 사용하는 HWB 컬러를 지원하게 되었다.  HWB 컬러는 인간이 사용하기에 더 직관적이고 계산 속도도 빠르도록 설계되었다. hwb() 함수가 HWB 모드 방식으로 색상 값을 생성해 주는 함수이다.

관련 함수

  • color()

    다른 색상 함수처럼 암시적인 sRGB 색상 공간이 아닌 명시적인 색상 공간에서 색상을 지정한다.
  • hsl()

    색상(Hue), 채도(Saturation), 밝기(Lightness) 매개 변수 값으로 색상을 생성한다.
  • hsla()

    색상(Hue), 채도(Saturation), 밝기(Lightness), 투명도(Alpha) 매개 변수 값으로 색상을 생성한다.
  • hwb()

    색상(hue), 백색률(whiteness), 흑색률(blackness)을 사용해서 색상을 생성한다.
  • lab()

    CIE(국제조명위원회)에서 규정한 중앙에 밝기 축이 있는 직사각형 좌표계를 이용해 색을 생성한다.
  • lch()

    Lab 색 공간이 사용하는 좌표계에서 L 축은 동일하지만 극좌표의 C(채도)와 H(색조)를 사용하여 색을 생성한다.
  • oklab()

    CIE Lab에 비해 개선된 색 공간을 통해 색을 지정한다.
  • oklch()

    LCH에 비해 개선된 색 공간을 통해 색을 지정한다.
  • rgb()

    RGB 방식으로 색상을 설정한다.
  • rgba()

    기본적으로 rgb() 함수와 동일하며 추가적으로 투명도(alpha)를 지정할 수 있다.

W3C Modules

CSS Color Module Level 3
W3C Recommendation 18 January 2022
CSS Color Module Level 4
W3C Candidate Recommendation Draft, 1 November 2022