Re: [csswg-drafts] [css-values-5] Accept more than 2 values in `*-mix(<progress>, ...)` and `progress()` notations (#11530)

> > interpolate rather than mix
> 
> I don't understand what difference you are implying

This should be better explained in the spec, which just mentions the two concepts :/ 
Take a look at the following:
1. `color-mix(100% color1, color2)` will produce `color1`
2. `color-mix(100%, color1, color2)` will produce `color2`

Basically mixing has the opposite behavior of interpolation: `100%` *of color1* implies 0% of color2 and gives you color1. Whereas a progress of 100% from color1 to color2 (interpolation) gives you color2 because it represents **progress alongside the continuum of color1 to color2** (think of how gradients behave).

While it's unclear what something like `color-mix(color1 50%, color2 30%, color3)` would do, so we decided to stick to 2 colors for mixing, when it's interpolation, something like `color-mix(80%, color1, color2, color3)` can be well defined: color2 is at 50% so 80% represents 30%/50% = 60% from color2 to color3, i.e. `color-mix(60%, color2, color3)`.

> I don't understand how this is supposed to behave

I think understanding the difference of mixing vs interpolation is kinda a prerequisite for this proposal.

-- 
GitHub Notification of comment by LeaVerou
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/11530#issuecomment-2601026903 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Sunday, 19 January 2025 21:23:58 UTC