这些操作与 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);
与乘法相反。结果是颜色更亮。
参数:
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);
与叠加类似,但避免纯黑产生纯黑,纯白产生纯白。
参数:
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);
与叠加相同,但颜色角色相反。
参数:
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);
效果与对比度较低的差异类似。
参数:
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);
与差异效果相反。
结果是颜色更亮。注意:相反效果并不是指加法操作产生的反效果。
参数:
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);