`contrast-color()`는 지정한 배경색을 보고 검정과 흰색 중 대비가 높은 색을 반환합니다. 가변 배경색에 텍스트를 얹는 컴포넌트에서 색 조합을 일일이 정하는 일을 줄입니다.
데모는 배경 견본이 밝고 어두운 색을 오갈 때 글자가 바뀌는 모습을 보여줍니다. 이 함수는 임의의 브랜드 색을 찾아주지 않으며, 본문 전체의 접근성 대비 검사를 대신하지 않습니다.
언제 쓰나
사용자가 고른 배경색 위의 짧은 라벨 색을 결정할 때 유용합니다.
배경색에 대해 대비가 더 높은 검정 또는 흰색 글자를 고릅니다.
<div class="v"><header>CONTRAST COLOR <span id="hex">#e8cb66</span></header><div class="stage contrast"><div class="swatch" id="swatch">Readable label</div><div class="choices"><span id="darkChoice">black</span><span id="lightChoice">white</span></div></div><div class="muted">background → higher contrast text</div></div>.v{width:min(94vw,760px);height:min(88vh,320px);padding:clamp(9px,2.4vmin,18px);border:1px solid var(--line);border-radius:12px;background:var(--surface);font:500 clamp(12px,2.4vmin,16px)/1.3 var(--font-sans,system-ui,sans-serif);display:flex;flex-direction:column;gap:clamp(5px,1.4vmin,10px);overflow:hidden}.v header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--accent);font-weight:700}.v header span{color:var(--muted);font-weight:500}.v .stage{flex:1;min-height:0;position:relative}.v .muted{color:var(--muted)}.v .active{background:color-mix(in srgb,var(--accent) 18%,var(--surface));border-color:var(--accent)!important;color:var(--fg)}.v button{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:5px 8px;cursor:pointer}.contrast{display:flex;align-items:center;justify-content:center;gap:12px}.swatch{width:55%;height:65%;display:grid;place-items:center;border-radius:9px;background:#e8cb66;color:contrast-color(#e8cb66);border:1px solid var(--line);font-weight:700;transition:background .5s,color .5s}.choices{display:flex;flex-direction:column;gap:8px}.choices span{padding:6px;border:1px solid var(--line);border-radius:6px}.choices span.on{border-color:var(--accent);color:var(--accent)}let dark=false;function tick(){dark=!dark;const hex=dark?"#243655":"#e8cb66",s=document.getElementById("swatch");s.style.background=hex;s.style.color="contrast-color("+hex+")";if(!CSS.supports("color","contrast-color("+hex+")"))s.style.color=dark?"white":"black";document.getElementById("hex").textContent=hex;document.getElementById("darkChoice").classList.toggle("on",!dark);document.getElementById("lightChoice").classList.toggle("on",dark)}tick();setInterval(tick,1100)`contrast-color()`는 지정한 배경색을 보고 검정과 흰색 중 대비가 높은 색을 반환합니다. 가변 배경색에 텍스트를 얹는 컴포넌트에서 색 조합을 일일이 정하는 일을 줄입니다.
데모는 배경 견본이 밝고 어두운 색을 오갈 때 글자가 바뀌는 모습을 보여줍니다. 이 함수는 임의의 브랜드 색을 찾아주지 않으며, 본문 전체의 접근성 대비 검사를 대신하지 않습니다.
사용자가 고른 배경색 위의 짧은 라벨 색을 결정할 때 유용합니다.