css color-mix()

new 1
color-mix()
css에서 색상을 혼합해서 색상을 지정할 수 있는 방법.

참고
결과값을 바로 알 수는 없지만
const color = getComputedStyle(document.querySelector('.sample')).color;
처럼 계산된 결과의 색상을 가져올 수 있다.

크롬 디버거에서는 바로 마우스 오버하면 계산된 값이 보인다.

참고 2
<canvas>에서는 지원 안된다고 함


지원 현황
Chrome 111 (Release date: ⁨2023-03-07⁩)
Safari 16.2 (Release date: ⁨2022-12-13⁩)

문법
color-mix( <color-interpolation-method>, <color> [<percentage>], <color> [<percentage>] )
color-mix(in lab, plum 60%, #123456 50%)
color-mix(in hsl, hsl(200 50 80), coral)

사용시 유의사항
1. color-interpolation-method 에 따라서 결과의 색이 다르다. 색 보간 방법에 따른 계산차이가 발생하며 눈에 띄는 차이를 보여줌.
1.1. in srgb 를 하면 다른 것보다 어둡게 합성됨.
1.2.문서에는 sRGB는 추천하지 않음.
'sRGB를 사용하는 특정 기기나 소프트웨어의 동작과 일치해야 하는 경우에만 sRGB를 사용하세요. sRGB 색 공간은 선형적으로 밝지도 않고, 시각적으로도 균일하지도 않아 지나치게 어둡거나 회색빛이 도는 혼합과 같은 좋지 않은 결과를 초래합니다.'

추천 보간 방법
1. OKLCH
사람의 시각적 밝기/채도 인식과 거의 1:1로 대응 → 자연스러운 그라데이션
색상 왜곡이 적음
2. sRGB
모든 브라우저/모니터에서 안정적
계산 및 예측 가능

비추천
1. HSL
섞을 때 밝기/채도 왜곡 심함
예측 불가 색상 생성됨
2. RGB
섞을 때 회색빛이 끼는 결과가 많음
고채도 색을 섞으면 탁해짐

보간 방법의 색공간에 따라서 나타낼 수 있는 색상에 차이도 있으므로.. 사용시 잘 선택해야할 듯.

댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
11.30
12.1
12.2
12.3
12.5
12.6
12.7
12.8
12.9
12.10
12.11
12.12
12.13
12.14
12.15
12.16
12.17
12.18
12.19
12.20
12.21
12.22
12.23
12.24
12.25
12.26
12.27
12.28
12.29
12.30
12.31
1.1
1.2
1.3