CSS赋予同一图片不同颜色

204 阅读1分钟

CSS赋予同一图片不同颜色

  • 问题背景

    • 有时候针对一张图片,我们可能需要这张图片的不同颜色的效果,其中一个显然的解决方案是,分别导出该图片的不同颜色,但显然这种方法需要多储存很多张相同的图片(只有颜色不同)。
  • 解决方案

    • 想要将图片颜色保持为其背景颜色

      • 使用mix-blend-mode

        • mix-blend-mode描述了元素的内容应该与元素的父元素内容如何混合。

            mix-blend-mode: normal;         // 正常
            mix-blend-mode: multiply;       // 正片叠底
            mix-blend-mode: screen;         // 滤色
            mix-blend-mode: overlay;        // 叠加
            mix-blend-mode: darken;         // 变暗
            mix-blend-mode: lighten;        // 变亮
            mix-blend-mode: color-dodge;    // 颜色减淡
            mix-blend-mode: color-burn;     // 颜色加深
            mix-blend-mode: hard-light;     // 强光
            mix-blend-mode: soft-light;     // 柔光
            mix-blend-mode: difference;     // 差值
            mix-blend-mode: exclusion;      // 排除
            mix-blend-mode: hue;            // 色相
            mix-blend-mode: saturation;     // 饱和度
            mix-blend-mode: color;          // 颜色
            mix-blend-mode: luminosity;     // 亮度
            
            mix-blend-mode: initial;
            mix-blend-mode: inherit;
            mix-blend-mode: unset;