这些操作与 Photoshop、Fireworks 或 GIMP 等图像编辑器中的混合模式类似(但不一定相同),因此您可以使用它们使 CSS 颜色与图像匹配。
multiply
将两种颜色相乘。 将两种颜色中每一种的相应 RGB 通道相乘,然后除以 255。 结果是颜色较深。
参数:
color1
: 颜色对象。
color2
: 颜色对象。
返回: color
例子:
multiply(#ff6600, #000000);
![颜色 3]()
multiply(#ff6600, #333333);
![颜色 3]()
multiply(#ff6600, #666666);
![颜色 3]()
multiply(#ff6600, #999999);
![颜色 3]()
multiply(#ff6600, #cccccc);
![颜色 3]()
multiply(#ff6600, #ffffff);
![颜色 3]()
multiply(#ff6600, #ff0000);
![颜色 3]()
multiply(#ff6600, #00ff00);
![颜色 3]()
multiply(#ff6600, #0000ff);
![颜色 3]()
screen
做与 multiply
相反的事情。 结果是更亮的颜色。
参数:
color1
: 颜色对象。
color2
: 颜色对象。
返回: color
例子:
screen(#ff6600, #000000);
![颜色 3]()
screen(#ff6600, #333333);
![颜色 3]()
screen(#ff6600, #666666);
![颜色 3]()
screen(#ff6600, #999999);
![颜色 3]()
screen(#ff6600, #cccccc);
![颜色 3]()
screen(#ff6600, #ffffff);
![颜色 3]()
screen(#ff6600, #ff0000);
![颜色 3]()
screen(#ff6600, #00ff00);
![颜色 3]()
screen(#ff6600, #0000ff);
![颜色 3]()
overlay
结合了 multiply
和 screen
的效果。 有条件地使亮通道更亮,使暗通道更暗。 注意: 条件的结果由第一个颜色参数决定。
参数:
color1
: 基色对象。 也是使结果更亮或更暗的决定色。
color2
: 要叠加的颜色对象。
返回: color
例子:
overlay(#ff6600, #000000);
![颜色 3]()
overlay(#ff6600, #333333);
![颜色 3]()
overlay(#ff6600, #666666);
![颜色 3]()
overlay(#ff6600, #999999);
![颜色 3]()
overlay(#ff6600, #cccccc);
![颜色 3]()
overlay(#ff6600, #ffffff);
![颜色 3]()
overlay(#ff6600, #ff0000);
![颜色 3]()
overlay(#ff6600, #00ff00);
![颜色 3]()
overlay(#ff6600, #0000ff);
![颜色 3]()
softlight
与overlay
类似,但避免纯黑导致纯黑,避免纯白导致纯白。
参数:
color1
: 一个颜色的物体柔和地照亮另一个。
color2
: 要柔和变亮的颜色对象。
返回: color
例子:
softlight(#ff6600, #000000);
![颜色 3]()
softlight(#ff6600, #333333);
![颜色 3]()
softlight(#ff6600, #666666);
![颜色 3]()
softlight(#ff6600, #999999);
![颜色 3]()
softlight(#ff6600, #cccccc);
![颜色 3]()
softlight(#ff6600, #ffffff);
![颜色 3]()
softlight(#ff6600, #ff0000);
![颜色 3]()
softlight(#ff6600, #00ff00);
![颜色 3]()
softlight(#ff6600, #0000ff);
![颜色 3]()
hardlight
与 overlay
相同,但颜色角色相反。
参数:
color1
: 要叠加的颜色对象。
color2
: 基色对象。 也是使结果更亮或更暗的决定色。
返回: color
例子:
hardlight(#ff6600, #000000);
![颜色 3]()
hardlight(#ff6600, #333333);
![颜色 3]()
hardlight(#ff6600, #666666);
![颜色 3]()
hardlight(#ff6600, #999999);
![颜色 3]()
hardlight(#ff6600, #cccccc);
![颜色 3]()
hardlight(#ff6600, #ffffff);
![颜色 3]()
hardlight(#ff6600, #ff0000);
![颜色 3]()
hardlight(#ff6600, #00ff00);
![颜色 3]()
hardlight(#ff6600, #0000ff);
![颜色 3]()
difference
在逐个通道的基础上从第一种颜色中减去第二种颜色。 负值被反转。 减去黑色结果没有变化; 减去白色会导致颜色反转。
参数:
color1
: 用作被减数的颜色对象。
color2
: 用作减数的颜色对象。
返回: color
例子:
difference(#ff6600, #000000);
![颜色 3]()
difference(#ff6600, #333333);
![颜色 3]()
difference(#ff6600, #666666);
![颜色 3]()
difference(#ff6600, #999999);
![颜色 3]()
difference(#ff6600, #cccccc);
![颜色 3]()
difference(#ff6600, #ffffff);
![颜色 3]()
difference(#ff6600, #ff0000);
![颜色 3]()
difference(#ff6600, #00ff00);
![颜色 3]()
difference(#ff6600, #0000ff);
![颜色 3]()
exclusion
与 difference
类似的效果,但对比度较低。
参数:
color1
: 用作被减数的颜色对象。
color2
: 用作减数的颜色对象。
返回: color
例子:
exclusion(#ff6600, #000000);
![颜色 3]()
exclusion(#ff6600, #333333);
![颜色 3]()
exclusion(#ff6600, #666666);
![颜色 3]()
exclusion(#ff6600, #999999);
![颜色 3]()
exclusion(#ff6600, #cccccc);
![颜色 3]()
exclusion(#ff6600, #ffffff);
![颜色 3]()
exclusion(#ff6600, #ff0000);
![颜色 3]()
exclusion(#ff6600, #00ff00);
![颜色 3]()
exclusion(#ff6600, #0000ff);
![颜色 3]()
average
在每个通道 (RGB) 的基础上计算两种颜色的平均值。
参数:
color1
: 颜色对象。
color2
: 颜色对象。
返回: color
例子:
average(#ff6600, #000000);
![颜色 3]()
average(#ff6600, #333333);
![颜色 3]()
average(#ff6600, #666666);
![颜色 3]()
average(#ff6600, #999999);
![颜色 3]()
average(#ff6600, #cccccc);
![颜色 3]()
average(#ff6600, #ffffff);
![颜色 3]()
average(#ff6600, #ff0000);
![颜色 3]()
average(#ff6600, #00ff00);
![颜色 3]()
average(#ff6600, #0000ff);
![颜色 3]()
negation
对 difference
执行相反的操作。
结果是更亮的颜色。 注意: 相反的效果并不意味着加法运算产生的反转效果。
参数:
color1
: 用作被减数的颜色对象。
color2
: 用作减数的颜色对象。
返回: color
例子:
negation(#ff6600, #000000);
![颜色 3]()
negation(#ff6600, #333333);
![颜色 3]()
negation(#ff6600, #666666);
![颜色 3]()
negation(#ff6600, #999999);
![颜色 3]()
negation(#ff6600, #cccccc);
![颜色 3]()
negation(#ff6600, #ffffff);
![颜色 3]()
negation(#ff6600, #ff0000);
![颜色 3]()
negation(#ff6600, #00ff00);
![颜色 3]()
negation(#ff6600, #0000ff);
![颜色 3]()