"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 최신 CSS 색상 기능의 강력한 활용: 역사, 용도 및 실제 적용

최신 CSS 색상 기능의 강력한 활용: 역사, 용도 및 실제 적용

2024-08-06에 게시됨
검색:525

Unlocking the Power of Modern CSS Color Functions: History, Uses, and Practical Applications

CSS 색상 기능은 개발자에게 웹 디자인에서 색상을 정의하고 조작하기 위한 강력한 도구 키트를 제공합니다. 이러한 기능은 유연성과 정확성을 제공하므로 역동적이고 시각적으로 매력적인 디자인을 만들 수 있습니다. 이 글에서는 CSS 색상 기능의 역사와 해결하고자 하는 문제, 그리고 이를 효과적으로 활용하는 방법에 대해 알아봅니다.

CSS 색상 함수의 간략한 역사

처음에 CSS는 이름이 지정된 색상 및 16진수 표기법과 같이 색상을 정의하기 위한 제한된 방법 세트를 제공했습니다. 이러한 방법은 간단하고 효과적이었지만 보다 정교한 설계 요구 사항에 필요한 유연성과 정밀도가 부족했습니다. 웹 디자인이 발전함에 따라 더욱 발전된 색상 조작 기술의 필요성도 커졌습니다.

rgb() 및 hsl() 함수의 도입으로 CSS에서 더욱 다양한 색상 정의가 시작되었습니다. 이러한 기능을 사용하면 색상 속성을 더 효과적으로 제어할 수 있어 역동적이고 반응이 빠른 디자인을 더 쉽게 만들 수 있습니다. 그러나 웹 디자인의 복잡성이 증가함에 따라 계속해서 경계가 확장되어 lab(), lch() 및 oklch()와 같은 더욱 고급 색상 기능이 개발되었습니다.

최신 CSS 색상 기능은 어떤 문제를 해결합니까?

1. 지각적 균일성: RGB 및 HSL과 같은 전통적인 색상 모델은 색상 차이에 대한 인간의 인식을 설명하지 않습니다. lab(), lch() 및 oklch()와 같은 최신 함수는 지각적으로 균일하도록 설계되었습니다. 즉, 색상 값의 변화가 이러한 변화를 인지하는 방식과 더 밀접하게 일치합니다.

2. 동적 색상 조정: color-mix() 및 color-contrast()와 같은 기능은 주변 환경에 따라 색상을 동적으로 조정하는 도구를 제공하여 더 나은 가독성과 시각적 조화를 보장합니다.

삼. 일관성 및 예측 가능성: 최신 기능은 색상 혼합 및 일치 시 더욱 일관되고 예측 가능한 결과를 제공하며, 이는 응집력 있는 디자인을 만드는 데 중요합니다.

4. 접근성: 향상된 색상 기능은 색상의 충분한 대비와 구별성을 더 쉽게 보장하여 접근성이 뛰어난 디자인을 만드는 데 도움이 됩니다.

CSS 색상 함수 개요

1. 명명된 색상

CSS는 "빨간색", "녹색", "파란색" 등과 같이 미리 정의된 다양한 이름의 색상을 지원합니다.

.element {
  background-color: red;
}

2. 16진수 표기법

RGB 색상에 대한 16진수 표기법입니다.

.element {
  background-color: #ff6347; /* Tomato */
}

3. rgb() 및 rgba()

빨간색-녹색-파란색 색상 모델을 사용하여 색상을 정의합니다.

.element {
  background-color: rgb(255, 99, 71); /* Tomato */
  background-color: rgba(255, 99, 71, 0.5); /* 50% transparent Tomato */
}

4. hsl() 및 hsla()

색조-채도-밝기 모델을 사용합니다.

.element {
  background-color: hsl(9, 100%, 64%); /* Tomato */
  background-color: hsla(9, 100%, 64%, 0.5); /* 50% transparent Tomato */
}

5. 현재 색상

색상 속성의 현재 값을 사용합니다.

.element {
  color: #ff6347;
  border: 2px solid currentColor; /* Border color matches text color */
}

6. 레베카퍼플

레베카 앨리슨 메이어를 기리기 위해 출시된 네임드 컬러입니다.

.element {
  background-color: rebeccapurple; /* #663399 */
}

7. CMYK()

청록색-자홍색-노란색-검정색 색상 모델을 사용하여 색상을 정의합니다.

.element {
  background-color: cmyk(0, 1, 1, 0); /* Red */
}

8. 색상 조정()

색상의 색조를 지정된 정도로 조정합니다.

.element {
  background-color: adjust-hue(hsl(120, 100%, 50%), 45deg); /* Adjusted hue */
}

9. 포화()

색상 채도를 높입니다.

.element {
  background-color: saturate(hsl(120, 50%, 50%), 20%); /* More saturated */
}

10. 채도를 낮추다()

색상 채도를 줄입니다.

.element {
  background-color: desaturate(hsl(120, 50%, 50%), 20%); /* Less saturated */
}

11. 밝게()

색상을 더 밝게 만듭니다.

.element {
  background-color: lighten(hsl(120, 50%, 50%), 20%); /* Lighter */
}

12. 어둡게()

색상을 더 어둡게 만듭니다.

.element {
  background-color: darken(hsl(120, 50%, 50%), 20%); /* Darker */
}

13. 색상()

다양한 색상 공간의 색상을 사용할 수 있습니다.

.element {
  background-color: color(display-p3 1 0.5 0); /* Display P3 color space */
}

14. 컬러믹스()

두 가지 색상을 함께 혼합합니다.

.element {
  background-color: color-mix(in srgb, blue 30%, yellow 70%);
}

15. 연구실()

지각적 균일성을 위해 CIE LAB 색상 모델을 사용합니다.

.element {
  background-color: lab(60% 40 30); /* Lightness, a*, b* */
}

16. lch()

CIE LAB 색상 모델을 원통형으로 표현한 것입니다.

.element {
  background-color: lch(70% 50 200); /* Lightness, Chroma, Hue */
}

17. hwb()

색상에 흰색과 검정색이 추가되는 양에 중점을 둡니다.

.element {
  background-color: hwb(260 30% 40%); /* Hue, Whiteness, Blackness */
}

18. 회색()

백분율을 사용하여 회색 음영을 만듭니다.

.element {
  background-color: gray(50%); /* Medium gray */
}

19. 색상대비()

배경과 대비가 충분한 색상을 선택합니다.

.element {
  background-color: color-contrast(white vs black, blue, red);
}

20. oklch()

지각적 균일성을 위해 Oklab 휘도, 채도 및 색조를 사용합니다.

.element {
  background-color: oklch(80% 0.5 200); /* Luminance, Chroma, Hue */
}

실용적인 적용

1. 호버 효과: 투명도가 있는 미묘한 호버 효과를 만들려면 rgba() 또는 hsla()를 사용하세요.

.button {
  background-color: rgb(0, 123, 255);
}
.button:hover {
  background-color: rgba(0, 123, 255, 0.8);
}

2. 테마 지정: 테마 인식 구성 요소를 생성하려면 currentColor를 활용합니다.

.theme-dark {
  color: #ffffff;
}
.theme-light {
  color: #000000;
}
.themed-element {
  border: 1px solid currentColor;
}

삼. 동적 색상: 밝기나 채도 변경과 같은 동적 색상 조정을 위해 hsl()을 활용합니다.

.lighten {
  background-color: hsl(220, 90%, 70%);
}
.darken {
  background-color: hsl(220, 90%, 30%);
}

4. 일관된 색상 혼합: 더 자연스럽고 일관되게 나타나는 방식으로 색상을 혼합하려면 oklch()를 사용하십시오.

.box {
  background-color: oklch(75% 0.3 90); /* Soft, bright color */
}
.highlight {
  background-color: oklch(75% 0.3 120); /* Slightly different hue */
}

5. 색상 조화: 휘도와 채도를 일정하게 유지하면서 색조를 조정하여 조화로운 색상 구성을 만듭니다.

.primary {
  background-color: oklch(70% 0.4 30);
}
.secondary {
  background-color: oklch(70% 0.4 60);
}
.accent {
  background-color: oklch(70% 0.4 90);
}

6. 접근 가능한 색상: oklch()를 사용하여 지각적으로 구별되는 색상을 만들어 가독성과 접근성을 향상시킵니다.

.text {
  color: oklch(20% 0.1 30); /* Dark color for text */
}
.background {
  background-color: oklch(90% 0.1 30); /* Light background color */
}

결론

최신 CSS 색상 기능은 웹 디자인 기능을 확장하여 더 높은 수준의 정확성과 유연성을 제공합니다. lab(), lch(), hwb(), grey(), color-contrast() 및 oklch()와 같은 기능을 통합하면 보다 정교하고 접근 가능한 색상 조작을 수행할 수 있습니다. 웹 디자인 프로젝트에서 이러한 강력한 도구의 잠재력을 최대한 활용하려면 CSS의 최신 개발 소식을 계속 받아보세요.

릴리스 선언문 이 기사는 https://dev.to/mdhassanpatwary/unlocking-the-power-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-css-3j2a에서 다시 인쇄되었습니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3