mix-blend-difference样式

效果


image.png
          className={classNames(
            "absolute z-10 flex h-6 cursor-pointer gap-2 mix-blend-difference",
            "right-1 top-1 justify-end",
            iconClassName,
            onExpand && onLink ? "w-14" : "w-6"
          )}
        >
          {onExpand && (
            <Expand03
              className="actionable-item-with-hover text-passes-light"
              onClick={onExpand}
              size={IconSize.sm}
            />
          )}
          {onLink &&
            (linkIcon === LinkIconEnum.MESSAGE ? (
              <LinkToMessage
                className="actionable-item-with-hover text-passes-light"
                onClick={onLink}
                size={IconSize.sm}
              />
            ) : (
              <LinkToPost
                className="actionable-item-with-hover text-passes-light"
                onClick={onLink}
                size={IconSize.sm}
              />
            ))}
        </div>

CSS中的mix-blend-mode: difference;属性是用来设置元素的混合模式的。当设置为difference时,它会使得该元素和它的背景(或下面的元素)的颜色相混合,从而产生差异效果。

在这种模式下,混合的颜色是通过比较上下层的颜色值然后从较高的颜色值中减去较低的颜色值来得出的。这个过程是分别对红、绿、蓝三个颜色通道进行的。这种混合方式通常会产生一些有趣和出人意料的视觉效果,特别是当混合颜色的亮度相差较大时。

例如,如果你将一个白色文本放置在黑色背景上,并应用mix-blend-mode: difference;,文本的颜色会变成黑色,因为白色(255, 255, 255)和黑色(0, 0, 0)混合后的差异是255,从白色的255减去0得到的还是255,但由于是差异模式,所以颜色反转,变为黑色。

这个样式在艺术和创意设计中非常有用,可以用来创造独特的视觉效果或是处理图像。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容