——塞万提斯 分享一个好玩的css属性: mix-blend-mode,MDN 该属性可以将元素和后面的背景进行混合 什么叫混合呢? 例如我看到的一个网站: 红框框出来的部分,是鼠标移动上去的一个效果 这个小圈,与后面的图片进行了反色,而且对于不少图片都有类似效果,我一开始以为是用了两张图片做的处理 后来发现并不是,是用的这个css mix-blend-mode
今天向大家推荐一个 CSS3 属性:mix-blend-mode,其中 mix 和 blend 的中文意译均为混合,那么这个属性的作用直译过来就是混合模式。 50px; width: 100%; height: 100%; top: 40%; left: 20%; color: #fff; mix-blend-mode transform: translateX(-20%); } } </style>
我们可以发现,代码非常简单,关键是这个属性:mix-blend-mode -50%); font-weight: 900; font-size: 50px; color: #000; background-color: #fff; mix-blend-mode : screen; } </style>~47 chrome 45~51 Safari 7~9.1 支持的值很多: 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 mix-blend-mode:difference; //差值 mix-blend-mode:exclusion; //排除 mix-blend-mode:hue; // 色相 mix-blend-mode:color; //颜色 mix-blend-mode:luminosity; //亮度 mix-blend-mode
看看可取的值有哪些: { mix-blend-mode: normal; // 正常 mix-blend-mode: multiply; // 正片叠底 mix-blend-mode 变暗 mix-blend-mode: lighten; // 变亮 mix-blend-mode: color-dodge; // 颜色减淡 mix-blend-mode / 柔光 mix-blend-mode: difference; // 差值 mix-blend-mode: exclusion; // 排除 mix-blend-mode 颜色 mix-blend-mode: luminosity; // 亮度 mix-blend-mode: initial; mix-blend-mode: inherit; mix-blend-mode 实例 眼见为实,要会使用 mix-blend-mode ,关键还是要迈出使用这一步。
mix-blend-mode用于混合DOM元素,background-blend-mode用于组合多个CSS背景。 进入mix-Blend-Mode 基础范例 ? 在标题中添加了以下内容: .hero-title { color: #000; mix-blend-mode: overlay; } 不仅仅是改变混合模式。 吸引我眼球的效果是当元素有白色背景和黑色前景使用mix-blend-mode: screen。 大家都说简历没项目写,我就帮大家找了一个项目,还附赠【搭建教程】。 .article__play { mix-blend-mode: screen; } .article:hover .article__play { mix-blend-mode: 进入Background-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 色相 mix-blend-mode: saturation; // 饱和度 mix-blend-mode: color; // 颜色 mix-blend-mode:
本文接前文:不可思议的混合模式 mix-blend-mode 。 由于 mix-blend-mode 这个属性的强大,很多应用场景和动效的制作不断完善和被发掘出来,遂另起一文继续介绍一些使用 mix-blend-mode 制作的酷炫动画。 mix-blend-mode 简介 关于 mix-blend-mode 最基本的用法和描述,可以简单看看上篇文章 不可思议的混合模式 mix-blend-mode。 background-blend-mode 的可用取值与 mix-blend-mode一样,不重复介绍,下面直接进入应用阶段。 这里我们使用 mix-blend-mode 也能够轻易实现,我们只需要构造出黑色文字,白色底色的文字 div ,叠加上图片,再运用 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 色相 mix-blend-mode: saturation; // 饱和度 mix-blend-mode: color; // 颜色 mix-blend-mode:
mix-blend-mode:我们通常称之为混合模式,利用混合模式将多个图层混合可以得到一个新的效果,mix-blend-mode 描述了元素的内容应该与元素的直系父元素的内容和元素的背景如何混合。 添加了 mix-blend-mode 的 3D 模式下,开启 Layer borders 效果: ? 可以看到,在 mix-blend-mode 的 3D 模式下,确实在整个球形元素之外,又多了一层蓝色 tile。 那么如果是因为 mix-blend-mode 多生成了一个独立渲染平面导致的 3D 失效,那么是否有其他元素也会导致同样的结果呢? 带着疑惑,去掉了 mix-blend-mode,我又给设置了 3d 的元素添加了一个滤镜: { - mix-blend-mode: lighten; + filter: blur(1px);
="mix">
本文接前文:不可思议的混合模式 mix-blend-mode 。 由于 mix-blend-mode 这个属性的强大,很多应用场景和动效的制作不断完善和被发掘出来,遂另起一文继续介绍一些使用 mix-blend-mode 制作的酷炫动画。 mix-blend-mode 简介 关于 mix-blend-mode 最基本的用法和描述,可以简单看看上篇文章 不可思议的混合模式 mix-blend-mode。 background-blend-mode 的可用取值与 mix-blend-mode一样,不重复介绍,下面直接进入应用阶段。 这里我们使用 mix-blend-mode 也能够轻易实现,我们只需要构造出黑色文字,白色底色的文字 div ,叠加上图片,再运用 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 mix-blend-mode ,混合模式。最常见于 photoshop 中,是 PS 中十分强大的功能之一。 ,先简单体会一下 mix-blend-mode 的作用。 CodePen Demo - Repeating-linear-gradient background & mix-blend-mode 尝试不同的 mix-blend-mode 那为什么上面使用的是 mix-blend-mode: multiply 呢? 这个是非常有意思的元素,非常类似于 mix-blend-mode / background-blend-mode。
利用混合模式,让文字智能适配背景颜色 这里,backdrop-filter 的替代方案是使用 mix-blend-mode。 我们来看看效果: 经过实测: { mix-blend-mode: hue; // 色相 mix-blend-mode: saturation; // 饱和度 mix-blend-mode: color; // 颜色 } 上述 3 个混合模式,叠加黑色背景,都是可以实现内容的置灰的。 : hue、mix-blend-mode: saturation、mix-blend-mode: color 也都是非常好的方式 有个小技巧,在 CSS 的世界中,但凡和颜色打交道的事情,你都应该想起 filter、backdrop-filter 和 mix-blend-mode。
看似很复杂的一个效果,但是其实在 CSS 中非常好实现,今天就介绍这样一个小技巧,在 CSS 中,利用混合模式 mix-blend-mode: difference,让文字智能适配背景颜色。 混合模式 mix-blend-mode: difference CSS3 新增了一个很有意思的属性 -- mix-blend-mode ,其中 mix 和 blend 的中文意译均为混合,那么这个属性的作用直译过来就是混合混合模式 一共有下图所示的一些混合模式: 其中,本文的主角是 mix-blend-mode: difference,意为差值模式。 div { // 不确定的背景色 } p { color: #fff; mix-blend-mode: difference; } 无论背景色是什么颜色,设置了 mix-blend-mode : difference 的
元素都可以正常展示出文本: CodePen Demo -- mix-blend-mode:difference实现文字颜色自适应底色 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 色相 mix-blend-mode: saturation; // 饱和度 mix-blend-mode: color; // 颜色 mix-blend-mode:
本文将介绍一个小技巧,通过混合模式 mix-blend-mode 巧妙的实现文字的镂空波浪效果。 起因 一日,一群友私聊问我。 在 CSS 中,其他能对颜色进行处理的,一是滤镜 filter,另外一个就是混合模式 mix-blend-mode,在这里,脑袋里快速闪过各个滤镜,应该都不行。但是混合模式,倒是能够尝试一下。 在 CSS 中也有混合模式(mix-blend-mode、background-blend-mode),混合模式最常见于 photoshop 中,是 PS 中十分强大的功能之一,目前在 CSS 中得到了非常好的支持 Wow,当给两个波浪圆形加上 mix-blend-mode: lighten 时,成功的在白底上过滤掉了蓝色,只在黑色字体上能够看到蓝色波浪的效果。 当然,另外一个混合模式 mix-blend-mode: screen 也能达到类似的效果: 至此,通过混合模式,我们巧妙的实现了这样一个文字镂空的波浪效果。
z-index: 1000; background: #fff; color: #000; mix-blend-mode .wrapper:before { content: " "; padding: 2em 3.5em; mix-blend-mode } .two .wrapper:before { background: #faaa54; mix-blend-mode } .three .wrapper:before { background: #6c320a; mix-blend-mode
| 妙用混合模式实现文字镂空波浪效果[7] 利用混合模式,让文字智能适配背景颜色[8] 这里,backdrop-filter 的替代方案是使用 mix-blend-mode。 我们来看看效果: 经过实测: { mix-blend-mode: hue; // 色相 mix-blend-mode: saturation; // 饱和度 mix-blend-mode: color; // 颜色 } 上述 3 个混合模式,叠加黑色背景,都是可以实现内容的置灰的。 : hue、mix-blend-mode: saturation、mix-blend-mode: color 也都是非常好的方式 有个小技巧,在 CSS 的世界中,但凡和颜色打交道的事情,你都应该想起 filter、backdrop-filter 和 mix-blend-mode。
而实际上,是两个 J 形重叠在一起,重叠部分表现为白色,这个特性,使用 CSS 的混合模式 mix-blend-mode 非常好实现,而单个 J 形示意图如下: ? 关键点 主要借助伪元素实现了整体 J 结构,借助了 mix-blend-mode 实现融合效果 利用 mix-blend-mode: lighten 混合模式实现两个 J 形结构重叠部分为白色 所以整个效果只需要两个标签 这里我们会运用到 background-blend-mode 和 mix-blend-mode 。 假设,我们有这样一张图: ? 还有一些其他的配色及混合模式的搭配,如 黄 + 粉红 + 蓝配合 mix-blend-mode: multiply。 如果想使用于生产环境,需要考虑 mix-blend-mode 和 clip-path 的兼容性问题。