CSS āĻ•āĻžāϞāĻžāϰ-āĻŽāĻŋāĻ•ā§āϏ()

CSS color-mix() āĻĢāĻžāĻ‚āĻļāύ āφāĻĒāύāĻžāϕ⧇ āϏāϰāĻžāϏāϰāĻŋ āφāĻĒāύāĻžāϰ CSS āĻĨ⧇āϕ⧇ āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ āϝ⧇ āϕ⧋āύ⧋ āϰāϙ⧇āϰ āϜāĻžāϝāĻŧāĻ—āĻžāϝāĻŧ āϰāĻ‚ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤

Browser Support

  • āĻ•ā§āϰ⧋āĻŽ: 111āĨ¤
  • āĻĒā§āϰāĻžāĻ¨ā§āϤ: 111āĨ¤
  • āĻĢāĻžāϝāĻŧāĻžāϰāĻĢāĻ•ā§āϏ: 113āĨ¤
  • āϏāĻžāĻĢāĻžāϰāĻŋ: 16.2āĨ¤

Source

color-mix() āĻāϰ āφāϗ⧇, āĻāĻ•āϟāĻŋ āϰāĻ™āϕ⧇ āĻ—āĻžāĻĸāĻŧ, āĻšāĻžāϞāĻ•āĻž āĻŦāĻž āĻĄāĻŋāĻ¸ā§āϝāĻžāϚ⧁āϰ⧇āϟ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāϰ⧀āϰāĻž āϰāĻ™āĻŋāύ āĻšā§āϝāĻžāύ⧇āϞ⧇ CSS āĻĒā§āϰāĻŋāĻĒā§āϰāϏ⧇āϏāϰ āĻŦāĻž calc() āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤

āφāϗ⧇ SCSS āĻĻāĻŋāϝāĻŧ⧇
.color-mixing-with-sass {
  /* Sass: equally mix red with white */
  --red-white-mix: color.mix(red, white);
}

Sass āĻ•āĻžāϞāĻžāϰ āϏāĻŋāĻāϏāĻāϏ āĻ¸ā§āĻĒ⧇āϏāĻŋāĻĢāĻŋāϕ⧇āĻļāύ āĻĨ⧇āϕ⧇ āĻāĻ—āĻŋāϝāĻŧ⧇ āĻĨāĻžāĻ•āĻž āĻĻ⧁āĻ°ā§āĻĻāĻžāĻ¨ā§āϤ āĻ•āĻžāϜ āĻ•āϰ⧇āϛ⧇āĨ¤ CSS-āĻ āϰāĻ‚ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻ•āϰāĻžāϰ āϕ⧋āύ⧋ āĻŦāĻžāĻ¸ā§āϤāĻŦ āωāĻĒāĻžāϝāĻŧ āύ⧇āχāĨ¤ āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋ āĻĒ⧇āϤ⧇ āφāĻĒāύāĻžāϕ⧇ āφāĻ‚āĻļāĻŋāĻ• āϰāϙ⧇āϰ āĻŽāĻžāύāϗ⧁āϞāĻŋāϰ āĻ—āĻŖāĻŋāϤ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ āϏāĻŋāĻāϏāĻāϏ āφāϜ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻŽāĻŋāĻ•ā§āϏāĻŋāĻ‚ āĻ…āύ⧁āĻ•āϰāĻŖ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āϤāĻžāϰ āĻāĻ•āϟāĻŋ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āωāĻĻāĻžāĻšāϰāĻŖ āĻāĻ–āĻžāύ⧇ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϞ:

āφāϗ⧇ āĻāχāϚāĻāϏāĻāϞ āύāĻŋāϝāĻŧ⧇
.color-mixing-with-vanilla-css-before {
  --lightness: 50%;
  --red: hsl(0 50% var(--lightness));

  /* add "white" to red
     by adding 25% to the lightness channel
  */
  --lightred: hsl(0 50% calc(var(--lightness) + 25%);
}

color-mix() CSS-āĻ āϰāĻ‚ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻ•āϰāĻžāϰ āĻ•ā§āώāĻŽāϤāĻž āύāĻŋāϝāĻŧ⧇ āφāϏ⧇āĨ¤ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāϰ⧀āϰāĻž āĻŦ⧇āϛ⧇ āύāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āύ āϕ⧋āύ āϰāϙ⧇āϰ āϜāĻžāϝāĻŧāĻ—āĻžāϝāĻŧ āϤāĻžāϰāĻž āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻ•āϰāĻŦ⧇āύ āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϰāϙ⧇āϰ āĻŽāĻŋāĻļā§āϰāϪ⧇ āĻ•āϤāϟāĻž āĻĒā§āϰāĻ­āĻžāĻŦāĻļāĻžāϞ⧀ āĻšāĻ“āϝāĻŧāĻž āωāϚāĻŋāϤāĨ¤

āĻĒāϰ⧇
.color-mixing-after {
  /* equally mix red with white */
  --red-white-mix: color-mix(in oklab, red, white);

  /* equally mix red with white in srgb */
  --red-white-mix-srgb: color-mix(in srgb, red, white);
}

āφāĻŽāϰāĻž āĻāϟāĻžāχ āϚāĻžāχāĨ¤ āύāĻŽāύ⧀āϝāĻŧāϤāĻž, āĻļāĻ•ā§āϤāĻŋ āĻāĻŦāĻ‚ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϝ⧁āĻ•ā§āϤ API āĻāϟāĻž āĻ­āĻžāϞ⧋āĻŦāĻžāϏāĻŋ.

āϏāĻŋāĻāϏāĻāϏ⧇ āϰāĻ‚ āĻŽā§‡āĻļāĻžāύ⧋

āϏāĻŋāĻāϏāĻāϏ āĻāĻ•āĻžāϧāĻŋāĻ• āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ āĻāĻŦāĻ‚ āϰāĻ™ āĻ¸ā§āĻŦāϰāĻ—ā§āϰāĻžāĻŽ āϜāĻ—āϤ⧇ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ, āĻāĻŦāĻ‚ āĻāϰ āĻ•āĻžāϰāϪ⧇ āĻāϟāĻŋ āĻŽāĻŋāĻļā§āϰāϪ⧇āϰ āϜāĻ¨ā§āϝ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāĻž āϐāĻšā§āĻ›āĻŋāĻ• āύāϝāĻŧāĨ¤ āωāĻĒāϰāĻ¨ā§āϤ⧁, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύāϗ⧁āϞāĻŋ āĻāĻ•āϟāĻŋ āĻŽāĻŋāĻļā§āϰāϪ⧇āϰ āĻĢāϞāĻžāĻĢāϞāϗ⧁āϞāĻŋāϕ⧇ āĻŦā§āϝāĻžāĻĒāĻ•āĻ­āĻžāĻŦ⧇ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇, āϤāĻžāχ āĻāĻ•āϟāĻŋ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ⧇āϰ āĻĒā§āϰāĻ­āĻžāĻŦāϗ⧁āϞāĻŋ āĻœā§‡āύ⧇ āφāĻĒāύāĻžāϕ⧇ āφāĻĒāύāĻžāϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ āĻĢāϞāĻžāĻĢāϞ āĻĒ⧇āϤ⧇ āϏāĻšāĻžāϝāĻŧāϤāĻž āĻ•āϰāĻŦ⧇āĨ¤

āĻāĻ•āϟāĻŋ āχāĻ¨ā§āϟāĻžāϰ⧇āĻ•ā§āϟāĻŋāĻ­ āĻ­ā§‚āĻŽāĻŋāĻ•āĻžāϰ āϜāĻ¨ā§āϝ, āĻāχ color-mix() āϟ⧁āϞāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĻ⧇āϖ⧁āύ: - āĻĒā§āϰāϤāĻŋāϟāĻŋ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ⧇āϰ āĻĒā§āϰāĻ­āĻžāĻŦāϗ⧁āϞāĻŋ āĻ…āĻ¨ā§āĻŦ⧇āώāĻŖ āĻ•āϰ⧁āύāĨ¤ - āĻāĻ•āϟāĻŋ āύāϞāĻžāĻ•āĻžāϰ āϰāϙ⧇āϰ āϜāĻžāϝāĻŧāĻ—āĻžāϝāĻŧ ( lch , oklch , hsl , āĻāĻŦāĻ‚ hwb ) āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻŦāĻ°ā§āϪ⧇āϰ āχāĻ¨ā§āϟāĻžāϰāĻĒā§‹āϞ⧇āĻļāύ⧇āϰ āĻĒā§āϰāĻ­āĻžāĻŦāϗ⧁āϞāĻŋ āĻ…āĻ¨ā§āĻŦ⧇āώāĻŖ āĻ•āϰ⧁āύ⧎ - āωāĻĒāϰ⧇āϰ āĻĻ⧁āϟāĻŋ āϰāϙ⧇āϰ āĻŦāĻžāĻ•ā§āϏ⧇āϰ āϝ⧇āϕ⧋āύ⧋ āĻāĻ•āϟāĻŋāϤ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧇ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āϰāĻ™āϗ⧁āϞāĻŋ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧁āύāĨ¤ - āĻŽāĻŋāĻ•ā§āϏāĻŋāĻ‚ āĻ…āύ⧁āĻĒāĻžāϤ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāϤ⧇ āĻ¸ā§āϞāĻžāχāĻĄāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ - āϤ⧈āϰāĻŋ āĻ•āϰāĻž color-mix() CSS āϕ⧋āĻĄ āύ⧀āĻšā§‡ āωāĻĒāϞāĻŦā§āϧāĨ¤

āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϰāϙ⧇āϰ āĻĢāĻžāρāϕ⧇ āĻŽā§‡āĻļāĻžāύ⧋

āĻŽā§‡āĻļāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ (āĻāĻŦāĻ‚ āĻ—ā§āϰ⧇āĻĄāĻŋāϝāĻŧ⧇āĻ¨ā§āϟ ) āĻšāϞ oklab āĨ¤ āĻāϟāĻŋ āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻ• āĻĢāϞāĻžāĻĢāϞ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇āĨ¤ āφāĻĒāύāĻžāϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻ…āύ⧁āϏāĻžāϰ⧇ āĻŽāĻŋāĻļā§āϰāĻŖāϟāĻŋāϕ⧇ āϏāĻžāϜāĻžāϤ⧇ āφāĻĒāύāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύāϗ⧁āϞāĻŋāĻ“ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ black āĻāĻŦāĻ‚ white āύāĻŋāύāĨ¤ āϤāĻžāϰāĻž āϝ⧇ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύāϟāĻŋ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻ•āϰ⧇ āϤāĻž āĻāĻ•āϟāĻŋ āĻŦāĻĄāĻŧ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ āϤ⧈āϰāĻŋ āĻ•āϰāĻŦ⧇ āύāĻž, āϤāĻžāχ āύāĻž? āϭ⧁āϞ.

color-mix(in srgb, black, white);
color-mix(in srgb-linear, black, white);
color-mix(in lch, black, white);
color-mix(in oklch, black, white);
color-mix(in lab, black, white);
color-mix(in oklab, black, white);
color-mix(in xyz, black, white);
7āϟāĻŋ āϰāϙ⧇āϰ āĻ¸ā§āĻĒ⧇āϏ (srgb, linear-srgb, lch, oklch, lab, oklab, xyz) āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ•āĻžāϞ⧋ āĻāĻŦāĻ‚ āϏāĻžāĻĻāĻž āĻŽā§‡āĻļāĻžāύ⧋āϰ āĻĢāϞāĻžāĻĢāϞ āĻĻ⧇āĻ–āĻžāϝāĻŧāĨ¤ āĻŽā§‹āϟāĻžāĻŽā§āϟāĻŋāĻ­āĻžāĻŦ⧇ 5āϟāĻŋ āĻ­āĻŋāĻ¨ā§āύ āĻļ⧇āĻĄ āĻĻ⧇āĻ–āĻžāύ⧋ āĻšāϝāĻŧ⧇āϛ⧇, āϝāĻž āĻĻ⧇āĻ–āĻžāϝāĻŧ āϝ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ āĻāĻŽāύāĻ•āĻŋ āĻāĻ•āϟāĻŋ āϧ⧂āϏāϰ⧇ āĻ­āĻŋāĻ¨ā§āύāĻ­āĻžāĻŦ⧇ āĻŽāĻŋāĻļ⧇ āϝāĻžāĻŦ⧇āĨ¤
āĻĄā§‡āĻŽā§‹ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύ

āĻāϟāĻž āĻāĻ•āϟāĻž āĻŦāĻĄāĻŧ āĻĒā§āϰāĻ­āĻžāĻŦ āφāϛ⧇!

āφāϰ⧇āĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāϪ⧇āϰ āϜāĻ¨ā§āϝ blue āĻāĻŦāĻ‚ white āύāĻŋāύāĨ¤ āφāĻŽāĻŋ āĻāϟāĻŋ āĻŦāĻŋāĻļ⧇āώāĻ­āĻžāĻŦ⧇ āĻŦ⧇āϛ⧇ āύāĻŋāϝāĻŧ⧇āĻ›āĻŋ āĻ•āĻžāϰāĻŖ āĻāϟāĻŋ āĻāĻŽāύ āĻāĻ•āϟāĻŋ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āϝ⧇āĻ–āĻžāύ⧇ āĻāĻ•āϟāĻŋ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ⧇āϰ āφāĻ•ā§ƒāϤāĻŋ āĻĢāϞāĻžāĻĢāϞāϕ⧇ āĻĒā§āϰāĻ­āĻžāĻŦāĻŋāϤ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻāχ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āϏāĻžāĻĻāĻž āĻĨ⧇āϕ⧇ āύ⧀āϞ⧇ āĻ­ā§āϰāĻŽāĻŖ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ āĻŦ⧇āϗ⧁āύāĻŋ āĻšāϝāĻŧ⧇ āϝāĻžāϝāĻŧāĨ¤ āĻāϟāĻŋ āφāϰāĻ“ āĻĻ⧇āĻ–āĻžāϝāĻŧ āϝ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ oklab āĻŽā§‡āĻļāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āĻāĻŽāύ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ, āĻāϟāĻŋ āϏāĻžāĻĻāĻž āĻāĻŦāĻ‚ āύ⧀āϞ (āϕ⧋āύ āĻŦ⧇āϗ⧁āύāĻŋ āύāϝāĻŧ) āĻŽā§‡āĻļāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϞ⧋āϕ⧇āϰ āĻĒā§āϰāĻ¤ā§āϝāĻžāĻļāĻžāϰ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋāĨ¤

color-mix(in srgb, blue, white);
color-mix(in srgb-linear, blue, white);
color-mix(in lch, blue, white);
color-mix(in oklch, blue, white);
color-mix(in lab, blue, white);
color-mix(in oklab, blue, white);
color-mix(in xyz, blue, white);
7āϟāĻŋ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ (srgb, linear-srgb, lch, oklch, lab, oklab, xyz) āĻĒā§āϰāϤāĻŋāϟāĻŋāϤ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻĢāϞāĻžāĻĢāϞ āĻĻ⧇āĻ–āĻžāύ⧋ āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āĻ…āύ⧇āĻ•āϗ⧁āϞāĻŋ āĻ—ā§‹āϞāĻžāĻĒā§€ āĻŦāĻž āĻŦ⧇āϗ⧁āύāĻŋ, āĻ•āĻŋāϛ⧁ āφāϏāϞ⧇ āĻāĻ–āύāĻ“ āύ⧀āϞāĨ¤
āĻĄā§‡āĻŽā§‹ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύ

color-mix() āĻĻāĻŋāϝāĻŧ⧇ āĻ•āĻžāϞāĻžāϰ āĻ¸ā§āĻĒ⧇āϏ⧇āϰ āĻĒā§āϰāĻ­āĻžāĻŦ āĻļ⧇āĻ–āĻž āĻ—ā§āϰ⧇āĻĄāĻŋāϝāĻŧ⧇āĻ¨ā§āϟ āϤ⧈āϰāĻŋāϰ āϜāĻ¨ā§āϝāĻ“ āĻĻāĻžāϰ⧁āĻŖ āĻœā§āĻžāĻžāύāĨ¤ āϰāĻ™ 4 āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āĻ—ā§āϰ⧇āĻĄāĻŋāϝāĻŧ⧇āĻ¨ā§āϟāϕ⧇ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧ, āϝ⧇āĻ–āĻžāύ⧇ āĻāĻ•āϟāĻŋ āĻ—ā§āϰ⧇āĻĄāĻŋāϝāĻŧ⧇āĻ¨ā§āϟ āĻ¸ā§āĻĨāĻžāύ⧇āϰ āĻāĻ•āϟāĻŋ āĻāϞāĻžāĻ•āĻžāϰ āωāĻĒāϰ āĻŽāĻŋāĻļā§āϰāĻŖ āĻĻ⧇āĻ–āĻžāϝāĻŧāĨ¤

.black-to-white-gradient-in-each-space {
  --srgb: linear-gradient(to right in srgb, black, white);
  --srgb-linear: linear-gradient(to right in srgb-linear, black, white);
  --lab: linear-gradient(to right in lab, black, white);
  --oklab: linear-gradient(to right in oklab, black, white);
  --lch: linear-gradient(to right in lch, black, white);
  --oklch: linear-gradient(to right in oklch, black, white);
  --hsl: linear-gradient(to right in hsl, black, white);
  --hwb: linear-gradient(to right in hwb, black, white);
  --xyz: linear-gradient(to right in xyz, black, white);
  --xyz-d50: linear-gradient(to right in xyz-d50, black, white);
  --xzy-d65: linear-gradient(to right in xyz-d65, black, white);
}
āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϰāϙ⧇āϰ āĻĢāĻžāρāϕ⧇ āĻ•āĻžāϞ⧋ āĻĨ⧇āϕ⧇ āϏāĻžāĻĻāĻž āĻ—ā§āϰ⧇āĻĄāĻŋāϝāĻŧ⧇āĻ¨ā§āϟāĨ¤
āĻĄā§‡āĻŽā§‹ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύ

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻ­āĻžāĻŦāϛ⧇āύ āϝ⧇ āϕ⧋āύ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύāϟāĻŋ "āϏāĻ°ā§āĻŦā§‹āĻ¤ā§āϤāĻŽ", āϏ⧇āĻ–āĻžāύ⧇ āĻāĻ•āϟāĻŋāĻ“ āύ⧇āχāĨ¤ āϤāĻžāχ āĻ…āύ⧇āĻ• āĻ…āĻĒāĻļāύ āφāϛ⧇ āϕ⧇āύ! āύāϤ⧁āύ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύāϗ⧁āϞāĻŋāĻ“ āωāĻĻā§āĻ­āĻžāĻŦāĻŋāϤ āĻšāĻŦ⧇ āύāĻž (āĻĻ⧇āϖ⧁āύ oklch āĻāĻŦāĻ‚ oklab ), āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ "āϏ⧇āϰāĻž" āĻšāϝāĻŧāĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ āωāĻœā§āĻœā§āĻŦāϞ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ…āύāĻ¨ā§āϝ āĻŽā§āĻšā§‚āĻ°ā§āϤ āĻĨāĻžāĻ•āϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŦāĻ‚ āϏāĻ āĻŋāĻ• āĻĒāĻ›āĻ¨ā§āĻĻ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻžāĻŖāĻŦāĻ¨ā§āϤ āĻŽāĻŋāĻļā§āϰāϪ⧇āϰ āĻĢāϞāĻžāĻĢāϞ āϚāĻžāύ āϤāĻŦ⧇ hsl āĻŦāĻž hwb āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻĄā§‡āĻŽā§‹āϤ⧇, āĻĻ⧁āϟāĻŋ āĻĒā§āϰāĻžāĻŖāĻŦāĻ¨ā§āϤ āϰāĻ™ (āĻŽā§āϝāĻžāĻœā§‡āĻ¨ā§āϟāĻž āĻāĻŦāĻ‚ āϚ⧁āύ) āĻāĻ•āϏāĻžāĻĨ⧇ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻšāϝāĻŧ āĻāĻŦāĻ‚ hsl āĻāĻŦāĻ‚ hwb āωāĻ­āϝāĻŧāχ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻžāĻŖāĻŦāĻ¨ā§āϤ āĻĢāϞāĻžāĻĢāϞ āĻĻ⧇āϝāĻŧ, āϝāĻ–āύ srgb āĻāĻŦāĻ‚ oklab āĻ…āϏāĻŽā§āĻĒ⧃āĻ•ā§āϤ āϰāĻ‚ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĨ¤

āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āĻ…āύ⧁āĻšā§āϛ⧇āĻĻ⧇ āĻŦāĻ°ā§āĻŖāĻŋāϤ āĻŽāĻŋāĻļā§āϰāϪ⧇āϰ āĻĢāϞāĻžāĻĢāϞāĨ¤
āĻĄā§‡āĻŽā§‹ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύ

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻ•āϤāĻž āĻāĻŦāĻ‚ āϏ⧂āĻ•ā§āĻˇā§āĻŽāϤāĻž āϚāĻžāύ, oklab āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ. āύ⧀āĻšā§‡āϰ āĻĄā§‡āĻŽā§‹āϤ⧇ āϝāĻž āύ⧀āϞ āĻāĻŦāĻ‚ āĻ•āĻžāϞ⧋āϕ⧇ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻ•āϰ⧇, hsl āĻāĻŦāĻ‚ hwb āĻ…āϤāĻŋāĻŽāĻžāĻ¤ā§āϰāĻžāϝāĻŧ āĻĒā§āϰāĻžāĻŖāĻŦāĻ¨ā§āϤ āĻāĻŦāĻ‚ āϰāĻ™ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧇ āϝāĻ–āύ srgb āĻāĻŦāĻ‚ oklab āĻāĻ•āϟāĻŋ āĻ—āĻžāĻĸāĻŧ āύ⧀āϞ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĨ¤

āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āĻ…āύ⧁āĻšā§āϛ⧇āĻĻ⧇ āĻŦāĻ°ā§āĻŖāĻŋāϤ āĻŽāĻŋāĻļā§āϰāϪ⧇āϰ āĻĢāϞāĻžāĻĢāϞāĨ¤
āĻĄā§‡āĻŽā§‹ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύ

color-mix() āϖ⧇āϞāĻžāϰ āĻŽāĻžāϠ⧇āϰ āϏāĻžāĻĨ⧇ āĻĒāĻžāρāϚ āĻŽāĻŋāύāĻŋāϟ āĻŦā§āϝāϝāĻŧ āĻ•āϰ⧁āύ, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϰāĻ™ āĻāĻŦāĻ‚ āĻ¸ā§āĻĨāĻžāύ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āφāĻĒāύāĻŋ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ¸ā§āĻĨāĻžāύ⧇āϰ āϏ⧁āĻŦāĻŋāϧāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ…āύ⧁āĻ­ā§‚āϤāĻŋ āĻĒ⧇āϤ⧇ āĻļ⧁āϰ⧁ āĻ•āϰāĻŦ⧇āύāĨ¤ āφāĻŽāϰāĻž āϏāĻŦāĻžāχ āφāĻŽāĻžāĻĻ⧇āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ⧇ āϤāĻžāĻĻ⧇āϰ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻžāϰ āϏāĻžāĻĨ⧇ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝ āĻ•āϰāĻžāϰ āĻ•āĻžāϰāϪ⧇ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύāϗ⧁āϞāĻŋāϰ āĻŦāĻŋāώāϝāĻŧ⧇ āφāϰāĻ“ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āφāĻļāĻž āĻ•āϰāĻŋāĨ¤

āĻšāĻŋāω āχāĻ¨ā§āϟāĻžāϰāĻĒā§‹āϞ⧇āĻļāύ āĻĒāĻĻā§āϧāϤāĻŋ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝ āĻ•āϰāĻž

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āύāϞāĻžāĻ•āĻžāϰ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ⧇ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻ•āϰāϤ⧇ āĻŦ⧇āϛ⧇ āύ⧇āύ, āĻŽā§‚āϞāϤ h hue āĻšā§āϝāĻžāύ⧇āϞ⧇āϰ āϏāĻžāĻĨ⧇ āϝ⧇āϕ⧋āύ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ āϝāĻž āĻāĻ•āϟāĻŋ āϕ⧋āĻŖ āĻ—ā§āϰāĻšāĻŖ āĻ•āϰ⧇, āϤāĻžāĻšāϞ⧇ āφāĻĒāύāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ āϝ⧇ āχāĻ¨ā§āϟāĻžāϰāĻĒā§‹āϞ⧇āĻļāύāϟāĻŋ shorter , longer , decreasing āĻāĻŦāĻ‚ increasing āĻĒāĻžāĻšā§āϛ⧇ āĻ•āĻŋāύāĻžā§ˇ āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āφāϰāĻ“ āϜāĻžāύāϤ⧇ āϚāĻžāύ āϤāĻŦ⧇ āĻāχ HD āĻ•āĻžāϞāĻžāϰ āĻ—āĻžāχāĻĄā§‡ āĻāϟāĻŋ āĻ­āĻžāϞāĻ­āĻžāĻŦ⧇ āĻ•āĻ­āĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤

āĻāĻ–āĻžāύ⧇ āĻāĻ•āχ āύ⧀āϞ āĻĨ⧇āϕ⧇ āϏāĻžāĻĻāĻž āĻŽāĻŋāĻļā§āϰāϪ⧇āϰ āωāĻĻāĻžāĻšāϰāĻŖ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāχ āϏāĻŽāϝāĻŧ, āĻāϟāĻŋ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āύāϞāĻžāĻ•āĻžāϰ āĻĢāĻžāρāϕ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻšāĻŋāω āχāĻ¨ā§āϟāĻžāϰāĻĒā§‹āϞ⧇āĻļāύ āĻĒāĻĻā§āϧāϤāĻŋ āϏāĻšāĨ¤

āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āĻ…āύ⧁āĻšā§āϛ⧇āĻĻ⧇ āĻŦāĻ°ā§āĻŖāĻŋāϤ āĻŽāĻŋāĻļā§āϰāϪ⧇āϰ āĻĢāϞāĻžāĻĢāϞāĨ¤
āĻĄā§‡āĻŽā§‹ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύ

āĻāĻ–āĻžāύ⧇ āφāϰ⧇āĻ•āϟāĻŋ āϕ⧋āĻĄāĻĒ⧇āύ āϝāĻž āφāĻŽāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĻ›āĻŋ āĻšāĻŋāω āχāĻ¨ā§āϟāĻžāϰāĻĒā§‹āϞ⧇āĻļāύāϕ⧇ āĻ•āĻ˛ā§āĻĒāύāĻž āĻ•āϰāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āϤāĻŦ⧇ āĻŦāĻŋāĻļ⧇āώāϤ āĻ—ā§āϰ⧇āĻĄāĻŋāϝāĻŧ⧇āĻ¨ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝāĨ¤ āφāĻŽāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻ•āϰāĻŋ āĻāϟāĻŋ āφāĻĒāύāĻžāϕ⧇ āĻŦ⧁āĻāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰāĻŦ⧇ āϝ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ āϕ⧀āĻ­āĻžāĻŦ⧇ āϤāĻžāϰ āĻŽāĻŋāĻļā§āϰāϪ⧇āϰ āĻĢāϞāĻžāĻĢāϞ āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āϝāĻ–āύ āĻšāĻŋāω āχāĻ¨ā§āϟāĻžāϰāĻĒā§‹āϞ⧇āĻļāύ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāĻž āĻšāϝāĻŧ, āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āĻ…āĻ§ā§āϝāϝāĻŧāύ āĻ•āϰ⧁āύ!

āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϰāϙ⧇āϰ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ⧇āϰ āϏāĻžāĻĨ⧇ āĻŽā§‡āĻļāĻžāύ⧋

āĻāĻ–āύ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āφāĻŽāϰāĻž āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ—āχ CSS āύāĻžāĻŽā§‡āϰ āϰāĻ™āϗ⧁āϞāĻŋāϕ⧇ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻ•āϰ⧇āĻ›āĻŋ, āϝ⧇āĻŽāύ blue āĻāĻŦāĻ‚ white āĨ¤ CSS āĻ•āĻžāϞāĻžāϰ āĻŽāĻŋāĻ•ā§āϏāĻŋāĻ‚ āĻĻ⧁āϟāĻŋ āĻ­āĻŋāĻ¨ā§āύ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ āĻĨ⧇āϕ⧇ āϰāĻ‚ āĻŽā§‡āĻļāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤāĨ¤ āĻāϟāĻŋ āĻŽāĻŋāĻļā§āϰāϪ⧇āϰ āϜāĻ¨ā§āϝ āϰāϙ⧇āϰ āĻ¸ā§āĻĨāĻžāύ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāĻžāϰ āĻŽā§‚āϞ āĻ•āĻžāϰāĻŖ āĻāϟāĻŋ, āĻ•āĻžāϰāĻŖ āĻĻ⧁āϟāĻŋ āϰāĻ™ āĻāĻ•āχ āĻ¸ā§āĻĨāĻžāύ⧇ āύāĻž āĻĨāĻžāĻ•āĻžāϰ āϜāĻ¨ā§āϝ āĻāϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻ¸ā§āĻĨāĻžāύ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧇āĨ¤

color-mix(in oklch, hsl(200deg 50% 50%), color(display-p3 .5 0 .5));

āφāϗ⧇āϰ āωāĻĻāĻžāĻšāϰāϪ⧇, hsl āĻāĻŦāĻ‚ display-p3 oklch āĻ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰāĻŋāϤ āĻ•āϰāĻž āĻšāĻŦ⧇ āĻāĻŦāĻ‚ āϤāĻžāϰāĻĒāϰ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤ āĻŦ⧇āĻļ āĻļāĻžāĻ¨ā§āϤ āĻāĻŦāĻ‚ āύāĻŽāύ⧀āϝāĻŧ.

āĻŽāĻŋāĻļā§āϰāϪ⧇āϰ āĻ…āύ⧁āĻĒāĻžāϤ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝ āĻ•āϰāĻž

āĻāϟāĻž āϖ⧁āĻŦ āϏāĻŽā§āĻ­āĻŦ āύāϝāĻŧ āϝ⧇ āφāĻĒāύāĻŋ āϝāϤāĻŦāĻžāϰ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻ•āϰāĻŦ⧇āύ āϤāϤāĻŦāĻžāϰ āφāĻĒāύāĻŋ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϰāϙ⧇āϰ āϏāĻŽāĻžāύ āĻ…āĻ‚āĻļ āϚāĻžāύ, āϝ⧇āĻŽāύāϟāĻŋ āĻāĻ–āύ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻĻ⧇āĻ–āĻžāύ⧋ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āωāĻĻāĻžāĻšāϰāĻŖāĨ¤ āϏ⧁āϏāĻ‚āĻŦāĻžāĻĻ, āĻĢāϞāĻžāĻĢāϞ⧇āϰ āĻŽāĻŋāĻļā§āϰāϪ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϰāϙ⧇āϰ āĻ•āϤāϟāĻž āĻĻ⧇āĻ–āĻž āωāϚāĻŋāϤ āϤāĻž āĻ¸ā§āĻĒāĻˇā§āϟ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āϰāϝāĻŧ⧇āϛ⧇āĨ¤

āĻāχ āĻŦāĻŋāώāϝāĻŧāϟāĻŋ āĻļ⧁āϰ⧁ āĻ•āϰāϤ⧇, āĻāĻ–āĻžāύ⧇ āĻŽāĻŋāĻļā§āϰāĻŖāϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āύāĻŽā§āύāĻž āϰāϝāĻŧ⧇āϛ⧇ āϝāĻž āϏāĻŽāĻ¸ā§āϤ āϏāĻŽāϤ⧁āĻ˛ā§āϝ (āĻāĻŦāĻ‚ āĻŦāĻŋāĻļ⧇āώ āĻĨ⧇āϕ⧇ ):

.ratios-syntax-examples {
  /* omit the percentage for equal mixes */
  color: color-mix(in lch, purple, plum);
  color: color-mix(in lch, plum, purple);

  /* percentage can go on either side of the color */
  color: color-mix(in lch, purple 50%, plum 50%);
  color: color-mix(in lch, 50% purple, 50% plum);

  /* percentage on just one color? other color gets the remainder */
  color: color-mix(in lch, purple 50%, plum);
  color: color-mix(in lch, purple, plum 50%);

  /* percentages > 100% are equally clamped */
  color: color-mix(in lch, purple 80%, plum 80%);
  /* above mix is clamped to this */
  color: color-mix(in lch, purple 50%, plum 50%);
}

āφāĻŽāĻŋ āĻāχ āωāĻĻāĻžāĻšāϰāĻŖāϗ⧁āϞāĻŋ āĻāϜ āϕ⧇āϏāϗ⧁āϞāĻŋāϕ⧇ āĻ­āĻžāϞāĻ­āĻžāĻŦ⧇ āφāϞ⧋āĻ•āĻŋāϤ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϖ⧁āρāĻœā§‡ āĻĒāĻžāχāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāϗ⧁āϞāĻŋāϰ āĻĒā§āϰāĻĨāĻŽ āϏ⧇āϟ āĻĻ⧇āĻ–āĻžāϝāĻŧ āϝ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ 50% āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϝāĻŧ āύāĻž āϤāĻŦ⧇ āϐāĻšā§āĻ›āĻŋāĻ•āĻ­āĻžāĻŦ⧇ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻļ⧇āώ āωāĻĻāĻžāĻšāϰāĻŖāϟāĻŋ āĻāĻ•āϟāĻŋ āφāĻ•āĻ°ā§āώāĻŖā§€āϝāĻŧ āϕ⧇āϏ āĻĻ⧇āĻ–āĻžāϝāĻŧ āϝāĻ–āύ āĻāĻ•āĻ¤ā§āϰ⧇ āϝ⧋āĻ— āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ…āύ⧁āĻĒāĻžāϤ 100% āĻ›āĻžāĻĄāĻŧāĻŋāϝāĻŧ⧇ āϝāĻžāϝāĻŧ, āϤāĻ–āύ āϤāĻžāĻĻ⧇āϰ āĻŽā§‹āϟ 100% āĻ āϏāĻŽāĻžāύāĻ­āĻžāĻŦ⧇ āφāϟāĻ•āĻžāύ⧋ āĻšāϝāĻŧāĨ¤

āφāϰāĻ“ āϞāĻ•ā§āĻˇā§āϝ āĻ•āϰ⧁āύ, āϝāĻĻāĻŋ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āϟāĻŋ āϰāĻ™ āĻāĻ•āϟāĻŋ āĻ…āύ⧁āĻĒāĻžāϤ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰ⧇, āĻ…āĻ¨ā§āϝāϟāĻŋ 100% āĻāϰ āĻ…āĻŦāĻļāĻŋāĻˇā§āϟāĻžāĻ‚āĻļ āĻŦāϞ⧇ āϧāϰ⧇ āύ⧇āĻ“āϝāĻŧāĻž āĻšāϝāĻŧāĨ¤ āĻāχ āφāϚāϰāĻŖāϟāĻŋ āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻ•āϰāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ–āĻžāύ⧇ āφāϰāĻ“ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāĻŖ āϰāϝāĻŧ⧇āϛ⧇āĨ¤

color-mix(in lch, purple 40%, plum) /* plum assigned 60% */
color-mix(in lch, purple, 60% plum) /* purple assigned 40% */
color-mix(in lch, purple 40%, plum 60%) /* no auto assignments */

āĻāχ āωāĻĻāĻžāĻšāϰāĻŖ āĻĻ⧁āϟāĻŋ āύāĻŋāϝāĻŧāĻŽ āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻ•āϰ⧇: 1. āϝāĻ–āύ āĻ…āύ⧁āĻĒāĻžāϤ 100% āĻ…āϤāĻŋāĻ•ā§āϰāĻŽ āĻ•āϰ⧇, āϤāĻ–āύ āϏ⧇āϗ⧁āϞāĻŋ āφāϟāĻ•āĻžāύ⧋ āĻšāϝāĻŧ āĻāĻŦāĻ‚ āϏāĻŽāĻžāύāĻ­āĻžāĻŦ⧇ āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ 1. āϝāĻ–āύ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āϟāĻŋ āĻ…āύ⧁āĻĒāĻžāϤ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰāĻž āĻšāϝāĻŧ, āϤāĻ–āύ āĻ…āĻ¨ā§āϝ āϰāĻ™āϟāĻŋ āϏ⧇āχ āĻ…āύ⧁āĻĒāĻžāϤ āĻĨ⧇āϕ⧇ 100 āĻŦāĻŋāϝāĻŧā§‹āĻ— āĻ•āϰ⧇ āϏ⧇āϟ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤

āĻļ⧇āώ āύāĻŋāϝāĻŧāĻŽāϟāĻŋ āĻ•āĻŋāϛ⧁āϟāĻž āĻ•āĻŽ āĻ¸ā§āĻĒāĻˇā§āϟ; āωāĻ­āϝāĻŧ āϰāϙ⧇āϰ āϜāĻ¨ā§āϝ āĻļāϤāĻžāĻ‚āĻļ āϏāϰāĻŦāϰāĻžāĻš āĻ•āϰāĻž āĻšāϞ⧇ āĻāĻŦāĻ‚ āϤāĻžāϰāĻž 100% āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āϝ⧋āĻ— āύāĻž āĻ•āϰāϞ⧇ āϕ⧀ āĻšāĻŦ⧇?

color-mix(in lch, purple 20%, plum 20%)

color-mix() āĻāϰ āĻāχ āϏāĻŽāĻ¨ā§āĻŦāϝāĻŧ⧇āϰ āĻĢāϞ⧇ āĻ¸ā§āĻŦāĻšā§āĻ›āϤāĻž, 40% āĻ¸ā§āĻŦāĻšā§āĻ›āϤāĻžāĨ¤ āϝāĻ–āύ āĻ…āύ⧁āĻĒāĻžāϤ 100% āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āϝ⧋āĻ— āύāĻž āĻ•āϰ⧇, āϤāĻ–āύ āĻĢāϞāĻ¸ā§āĻŦāϰ⧂āĻĒ āĻŽāĻŋāĻļā§āϰāĻŖāϟāĻŋ āĻ…āĻ¸ā§āĻŦāĻšā§āĻ› āĻšāĻŦ⧇ āύāĻžāĨ¤ āϕ⧋āύāϟāĻŋāχ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖāϰ⧂āĻĒ⧇ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻšāĻŦ⧇ āύāĻžāĨ¤

āύ⧇āĻ¸ā§āϟāĻŋāĻ‚ color-mix()

āϏāĻŽāĻ¸ā§āϤ CSS āĻāϰ āĻŽāϤ, āύ⧇āĻ¸ā§āϟāĻŋāĻ‚ āĻ­āĻžāϞāĻ­āĻžāĻŦ⧇ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ‚ āĻĒā§āϰāĻ¤ā§āϝāĻžāĻļāĻŋāϤ āĻšāĻŋāϏāĻžāĻŦ⧇; āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻĢāĻžāĻ‚āĻļāύāϗ⧁āϞāĻŋ āĻĒā§āϰāĻĨāĻŽā§‡ āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰāĻŦ⧇ āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āĻŽāĻžāύāϗ⧁āϞāĻŋ āĻŽā§‚āϞ āĻĒā§āϰāϏāĻ™ā§āϗ⧇ āĻĢāĻŋāϰāĻŋāϝāĻŧ⧇ āĻĻ⧇āĻŦ⧇āĨ¤

color-mix(in lch, purple 40%, color-mix(plum, white))

āφāĻĒāύāĻŋ āϝ⧇ āĻĢāϞāĻžāĻĢāϞ⧇āϰ āĻĻāĻŋāϕ⧇ āĻ•āĻžāϜ āĻ•āϰāϛ⧇āύ āϤāĻž āĻĒ⧇āϤ⧇ āφāĻĒāύāĻžāϰ āϝāϤāϟāĻž āĻĒā§āϰāϝāĻŧā§‹āϜāύ āύāĻŋāĻ°ā§āĻĻā§āĻŦāĻŋāϧāĻžāϝāĻŧ āύ⧇āĻ¸ā§āϟ āĻ•āϰ⧁āύāĨ¤

āĻāĻ•āϟāĻŋ āĻšāĻžāϞāĻ•āĻž āĻāĻŦāĻ‚ āĻ—āĻžāĻĸāĻŧ āϰāϙ⧇āϰ āĻ¸ā§āĻ•āĻŋāĻŽ āύāĻŋāĻ°ā§āĻŽāĻžāĻŖ

āφāϏ⧁āύ color-mix() āĻĻāĻŋāϝāĻŧ⧇ āϰāϙ⧇āϰ āĻ¸ā§āĻ•āĻŋāĻŽ āϤ⧈āϰāĻŋ āĻ•āϰāĻŋ!

āĻāĻ•āϟāĻŋ āĻŽā§ŒāϞāĻŋāĻ• āϰāϙ⧇āϰ āĻ¸ā§āĻ•āĻŋāĻŽ

āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ CSS-āĻ, āĻāĻ•āϟāĻŋ āĻŦā§āĻ°ā§āϝāĻžāĻ¨ā§āĻĄ āĻšā§‡āĻ•ā§āϏ āϰāϙ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āĻšāĻžāϞāĻ•āĻž āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āϧāĻ•āĻžāϰ āĻĨāĻŋāĻŽ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āĻšāĻžāϞāĻ•āĻž āĻĨāĻŋāĻŽ āĻĻ⧁āϟāĻŋ āĻ—āĻžāĻĸāĻŧ āύ⧀āϞ āĻŸā§‡āĻ•ā§āϏāϟ āϰāĻ‚ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āϖ⧁āĻŦ āĻšāĻžāϞāĻ•āĻž āϏāĻžāĻĻāĻž āĻŦā§āϝāĻžāĻ•āĻ—ā§āϰāĻžāωāĻ¨ā§āĻĄ āĻĒ⧃āĻˇā§āϠ⧇āϰ āϰāĻ™ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĨ¤ āϤāĻžāϰāĻĒāϰ⧇ āĻāĻ•āϟāĻŋ āĻ…āĻ¨ā§āϧāĻ•āĻžāϰ āĻĒāĻ›āĻ¨ā§āĻĻ āĻŽāĻŋāĻĄāĻŋāϝāĻŧāĻž āĻ•ā§āϝ⧋āϝāĻŧāĻžāϰ⧀āϤ⧇, āĻ•āĻžāĻ¸ā§āϟāĻŽ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϗ⧁āϞāĻŋāϕ⧇ āύāϤ⧁āύ āϰāĻ™ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϝāĻŧ āϝāĻžāϤ⧇ āĻĒāϟāĻ­ā§‚āĻŽāĻŋ āĻ…āĻ¨ā§āϧāĻ•āĻžāϰ āĻšāϝāĻŧ āĻāĻŦāĻ‚ āĻĒāĻžāĻ ā§āϝ⧇āϰ āϰāĻ™āϗ⧁āϞāĻŋ āĻšāĻžāϞāĻ•āĻž āĻšāϝāĻŧāĨ¤

:root {
  /* a base brand color */
  --brand: #0af;

  /* very dark brand blue */
  --text1: color-mix(in oklab, var(--brand) 25%, black);
  --text2: color-mix(in oklab, var(--brand) 40%, black);

  /* very bright brand white */
  --surface1: color-mix(in oklab, var(--brand) 5%, white);
}

@media (prefers-color-scheme: dark) {
  :root {
    --text1: color-mix(in oklab, var(--brand) 15%, white);
    --text2: color-mix(in oklab, var(--brand) 40%, white);
    --surface1: color-mix(in oklab, var(--brand) 5%, black);
  }
}

āĻāχ āϏāĻŦ āĻāĻ•āϟāĻŋ āĻŦā§āĻ°ā§āϝāĻžāĻ¨ā§āĻĄ āϰāϙ⧇ āϏāĻžāĻĻāĻž āĻŦāĻž āĻ•āĻžāϞ⧋ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻĻā§āĻŦāĻžāϰāĻž āϏāĻŽā§āĻĒāĻ¨ā§āύ āĻ•āϰāĻž āĻšāϝāĻŧ.

āĻŽāĻ§ā§āϝāĻŦāĻ°ā§āϤ⧀ āϰāϙ⧇āϰ āĻ¸ā§āĻ•āĻŋāĻŽ

āĻšāĻžāϞāĻ•āĻž āĻāĻŦāĻ‚ āĻ—āĻžāĻĸāĻŧ āĻĨāĻŋāĻŽā§‡āϰ āĻšā§‡āϝāĻŧ⧇ āφāϰāĻ“ āĻŦ⧇āĻļāĻŋ āϝ⧋āĻ— āĻ•āϰ⧇ āĻāϟāĻŋ āφāϰāĻ“ āĻāĻ• āϧāĻžāĻĒ āĻāĻ—āĻŋāϝāĻŧ⧇ āύ⧇āĻ“āϝāĻŧāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻĄā§‡āĻŽā§‹āϤ⧇, āϰ⧇āĻĄāĻŋāĻ“ āĻ—ā§‹āĻˇā§āĻ ā§€āϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāϗ⧁āϞāĻŋ HTML āĻŸā§āϝāĻžāϗ⧇ āĻāĻ•āϟāĻŋ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧇ [color-scheme="auto"] āϝāĻž āĻĒāϰ⧇ āύāĻŋāĻ°ā§āĻŦāĻžāϚāĻ•āĻĻ⧇āϰ āĻļāĻ°ā§āϤāϏāĻžāĻĒ⧇āĻ•ā§āώ⧇ āĻāĻ•āϟāĻŋ āϰāϙ⧇āϰ āĻĨāĻŋāĻŽ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāϤ⧇ āϏāĻ•ā§āώāĻŽ āĻ•āϰ⧇⧎

āĻāχ āĻŽāĻ§ā§āϝāĻŦāĻ°ā§āϤ⧀ āĻĄā§‡āĻŽā§‹āϟāĻŋ āĻāĻ•āϟāĻŋ āϰāϙ⧇āϰ āĻĨāĻŋāĻŽāĻŋāĻ‚ āĻ•ā§ŒāĻļāϞāĻ“ āĻĻ⧇āĻ–āĻžāϝāĻŧ āϝ⧇āĻ–āĻžāύ⧇ āϏāĻŽāĻ¸ā§āϤ āĻĨāĻŋāĻŽā§‡āϰ āϰāĻ‚ :root āĻ āϤāĻžāϞāĻŋāĻ•āĻžāϭ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āĻāϟāĻŋ āϤāĻžāĻĻ⧇āϰ āϏāĻŦ āĻāĻ•āϏāĻžāĻĨ⧇ āĻĻ⧇āĻ–āϤ⧇ āĻāĻŦāĻ‚ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϞ⧇ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝ āĻ•āϰāϤ⧇ āϏāĻšāϜ āĻ•āϰ⧇ āϤ⧋āϞ⧇āĨ¤ āĻĒāϰ⧇ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āĻŸā§‡, āφāĻĒāύāĻŋ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞāϗ⧁āϞāĻŋāϕ⧇ āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āĻāϟāĻŋ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āĻŸā§‡āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϰāϙ⧇āϰ āĻŽā§āϝāĻžāύāĻŋāĻĒ⧁āϞ⧇āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āĻļāĻŋāĻ•āĻžāϰ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧇ āĻ•āĻžāϰāĻŖ āϏ⧇āϗ⧁āϞāĻŋ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ• :root āĻŦā§āϞāϕ⧇ āϰāϝāĻŧ⧇āϛ⧇āĨ¤

āφāϰ⧋ āφāĻ•āĻ°ā§āώāĻŖā§€āϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇

āĻ…āĻ§ā§āϝāϝāĻŧāύ⧇āϰ āϜāĻ¨ā§āϝ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āφāύāĻž āϟāĻŋāωāĻĄāĻžāϰ⧇āϰ āĻāĻ•āϟāĻŋ āĻĻ⧁āĻ°ā§āĻĻāĻžāĻ¨ā§āϤ āĻĄā§‡āĻŽā§‹ āϰāϝāĻŧ⧇āϛ⧇:

DevTools āĻĻāĻŋāϝāĻŧ⧇ āĻ•āĻžāϞāĻžāϰ-āĻŽāĻŋāĻ•ā§āϏ() āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āϰāĻž

Chrome DevTools-āĻāϰ color-mix() āĻāϰ āϜāĻ¨ā§āϝ āĻĻāĻžāϰ⧁āĻŖ āϏāĻŽāĻ°ā§āĻĨāύ āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āĻāϟāĻŋ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āϏāύāĻžāĻ•ā§āϤ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻšāĻžāχāϞāĻžāχāϟ āĻ•āϰ⧇, āĻ¸ā§āϟāĻžāχāϞ āĻĒā§āϝāĻžāύ⧇ āĻļ⧈āϞ⧀āϰ āĻ āĻŋāĻ• āĻĒāĻžāĻļ⧇ āĻŽāĻŋāĻļā§āϰāϪ⧇āϰ āĻāĻ•āϟāĻŋ āĻĒā§‚āĻ°ā§āĻŦāϰ⧂āĻĒ āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āϰāĻ‚ āĻŦ⧇āϛ⧇ āύ⧇āĻ“āϝāĻŧāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧāĨ¤

āĻāϟāĻŋ DevTools āĻ āĻāϰāĻ•āĻŽ āĻ•āĻŋāϛ⧁ āĻĻ⧇āĻ–āĻžāĻŦ⧇:

Chrome DevTools āĻ•āĻžāϞāĻžāϰ-āĻŽāĻŋāĻ•ā§āϏ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āĻĒāϰāĻŋāĻĻāĻ°ā§āĻļāύ āĻ•āϰāϛ⧇āĨ¤

āĻšā§āϝāĻžāĻĒāĻŋ āĻŽāĻŋāĻ•ā§āϏāĻŋāĻ‚ āφāĻĒāύāĻŋ āϏāĻŦ!