如何Mix Colors
Blend two 或更多 colors 在不同颜色 spaces 具有 adjustable ratios.
问题
你需要blend two colors 到创建中级颜色, 如为 hover 声明或 transition.
前置条件
- Understanding 的颜色 models
- Knowledge 的 blending modes
步骤
-
1. Choose the color space for mixing
Mixing in RGB averages each channel independently, which can produce muddy midpoints. Mixing in HSL preserves hue and saturation better. Mixing in OKLCH (a perceptual space) produces the most natural-looking gradients. Choose based on the desired visual result.
输入mix in OKLCH输出perceptually uniform -
2. Set the mix ratio
Specify how much of each color to use: 50/50 for an even blend, 70/30 for a bias toward the first color. The ratio determines the position of the result between the two colors. Some mixers support multiple colors with weighted ratios.
输入red + blue, 50/50输出purple -
3. Compute and output the result
Convert both colors to the chosen color space, interpolate at the specified ratio, and convert back to the output format (HEX, RGB, HSL). Verify the result visually. For CSS, use the color-mix() function: color-mix(in oklch, red, blue).
输入color-mix(in oklch, #FF0000 50%, #0000FF)输出#800080 (approx)
预期结果
blended 颜色该 represents specified mix 的输入 colors.
常见错误
- Muddy midpoint in RGB mixing
- RGB mixing can produce grayish midpoints for complementary colors. Mix in HSL or OKLCH for more vibrant results.
- Hue wraps incorrectly
- When mixing in HSL, hue is circular (0° and 360° are the same). Interpolate along the shorter arc to avoid going the long way around.
排障指引
- If the mixed color looks wrong, try a different color space.
- CSS color-mix() is modern; check browser support or precompute the value.
安全限制
- Color mixing is a pure calculation with no security implications.