美文网首页
CSS3混合模式mix-blend-mode简介

CSS3混合模式mix-blend-mode简介

作者: 上海老宅男 | 来源:发表于2020-12-29 10:00 被阅读0次

    一、关于混合模式

    熟悉PS的人都应该知道混合模式:


    image.png

    SVG以及Canvas中也有混合模式,本质上都是一样的。

    二、CSS3 mix-blend-mode

    首先,要知道”blend-mode”就是混合模式的意思。那mix, 恩,我也不知道为什么命名为mix, 可能是该属性不仅可以作用于HTML,还可以作用于SVG,干脆叫mix一起捋过来。该CSS属性作用是让元素内容和这个元素的背景以及下面的元素发生“混合”。

    兼容性如下:

    mix-blend-mode兼容性表

    可见,最近的Chrome以及FireFox浏览器都已经支持良好,而且无需使用私有前缀。

    其支持的值很多,中英文对照如下:

    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;      //亮度
    
    • multiply混合后通常颜色会加深,多用在白色背景图片和其他元素的混合,以及彩色纹理的合并上。

    • screen混合后颜色会减淡,非常适合实现霓虹灯光效果,适合黑色背景素材和其他元素混合,非常实用。

    • overlay在颜色值暗的时候,采用了类似“正片叠底”的算法,而颜色亮的时候,采用了类似“滤色”的算法。此混合模式比较适合实现文字水印效果。

    • darken表示哪个颜色暗使用哪个颜色,在web开发中,给图形或文字着色会很实用。

    • lighten是哪个颜色浅就表现为哪个颜色,在web开发中,给图形或文字着色会很实用。

    • color-dodge颜色减淡混合模式可以用来保护底图的高光,适合处理高光下的人物照片。

    • color-burn颜色加深混合模式可以用来保护底图的阴影,适合处理幽深秘境一类的照片,通过和特定的色彩进行混合,可以营造更加幽深的意境。

    • hard-light的效果是强光,最终的混合效果就好像耀眼的聚光灯照射过来,表现为图像亮的地方更亮,暗的地方更暗。多用在图像表现处理上。

    • soft-light的效果是柔光,最终的混合效果就好像发散的光源弥漫过来,表现效果和hard-light有类似之处,只是表现没有那么强烈。给图像着色的时候常用此混合模式。

    • difference是差值效果,可以实现颜色的反色效果。

    • exclusion的效果是排除,最终的混合效果和difference模式是类似的,区别在于exclusion的对比度要更低一些。
      接下来要介绍的4种混合模式都属于颜色系混合模式,在web开发中不常用,还是传统的图像表现处理领域用的较多。

    • hue表示色调混合,最终的效果是混合后的颜色使用底层元素的亮度和饱和度,而使用上层元素的色调。

    • saturation表示饱和度混合,混合后的颜色保留底图的亮度和色调,使用顶图的饱和度。

    • color表示颜色混合,混合后的颜色保留底图的亮度,使用顶图的色调和饱和度。

    • luminosity表示亮度混合,混合后的颜色保留底图的色调和饱和度,使用顶图的亮度,和color模式正好是相反的。

    相关文章

      网友评论

          本文标题:CSS3混合模式mix-blend-mode简介

          本文链接:https://www.haomeiwen.com/subject/cgcfoktx.html