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