contrast-color()
Baseline 2026 recém disponível em abril de 2026 (Chrome 147, Firefox 146, Safari 26).
Chrome 147
Edge 147
Safari 26
Firefox 146
Retorna preto ou branco, o que contrastar mais com a cor dada. Texto sobre fundos escolhidos pelo usuário ou calculados (tags, avatares, seletores de tema) continua legível sem tabela de consulta.
YellowNavyOrange
CSS
.fx-032 span {
display: inline-block;
padding: 6px 12px;
border-radius: 999px;
margin: 4px;
font: 600 13px system-ui;
background: var(--bg);
color: contrast-color(var(--bg))
}
HTML
<div class="fx-032">
<span style="--bg:#fde047">Yellow</span><span style="--bg:#1e3a8a">Navy</span><span style="--bg:#f97316">Orange</span>
</div>Fallback: Defina um `color` padrão antes da linha com contrast-color(); navegadores mais antigos ficam com ele. Proteja com `@supports (color: contrast-color(red))`.
Prompt
Sempre que texto ficar sobre uma cor de fundo dinâmica (tags, selos, amostras de cor, temas do usuário), defina `color: contrast-color(var(--bg))` depois de uma cor de fallback estática. Não calcule luminância em JS. Note que a função retorna só preto ou branco; para texto tingido continue usando color-mix().