-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
不可思议的混合模式 background-blend-mode(二) #31
Comments
chokcoco
changed the title
不可思议的混合模式 background-blend-mode
不可思议的混合模式 background-blend-mode(二)
Dec 17, 2018
有没有办法过滤掉某种颜色?试了好多都没试出来。 |
比如,我想把一个div中的某种固定颜色 #e13332 过滤掉,变成透明的。过滤器中能找到screen过滤白色,diff能过滤黑色。但是指定颜色有什么方案呢? |
|
This was referenced Mar 18, 2021
Closed
Mark一下,学废了~ |
可以试试使用 mask-image 属性,设置成背景图一样的图片, 可以适配下有透明内容 png 图片 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
本文接前文:不可思议的混合模式 mix-blend-mode 。由于
mix-blend-mode
这个属性的强大,很多应用场景和动效的制作不断完善和被发掘出来,遂另起一文继续介绍一些使用mix-blend-mode
制作的酷炫动画。CSS3 新增了一个很有意思的属性 --
mix-blend-mode
,其中 mix 和 blend 的中文意译均为混合,那么这个属性的作用直译过来就是混合混合模式,当然,我们我们通常称之为混合模式。混合模式最常见于 photoshop 中,是 PS 中十分强大的功能之一。当然,瞎用乱用混合模式谁都会,利用混合模式将多个图层混合得到一个新的效果,只是要用到恰到好处,或者说在 CSS 中利用混合模式制作出一些效果则需要对混合模式很深的理解及不断的尝试。
mix-blend-mode 简介
关于
mix-blend-mode
最基本的用法和描述,可以简单看看上篇文章 不可思议的混合模式 mix-blend-mode 。background-blend-mode 简介
除了
mix-blend-mode
,CSS 还提供一个background-blend-mode
。也就是背景的混合模式。background-blend-mode
的可用取值与mix-blend-mode
一样,不重复介绍,下面直接进入应用阶段。background-blend-mode
基础应用对于
background-blend-mode
,最简单的应用就是将两个或者多个图片利用混合模式叠加在一起。假设我们存在下述两张图片,可以利用背景混合模式background-blend-mode
叠加在一起:经过背景混合模式
background-blend-mode:lighten
处理之后:CodePen Demo -- image mix by bg-blend-mode
当然,这里使用的是
background-blend-mode:lighten
变亮这个混合模式,核心代码如下:我们可以尝试其他的组合,也就是改变
background-blend-mode
的各种取值,将会得到各种不同的感官效果。使用
background-blend-mode: difference
制作黑白反向动画黑色白色这两种颜色,无疑是使用频率最高也是我认为最搭的两个颜色。当这两种颜色结合在一起,总是能碰撞出不一样的火花。
扯远了,借助
difference
差值混合模式,配合黑白 GIF,能产生奇妙的效果,假设我们拥有这样一张 GIF 图(图片来自网络,侵删):利用
background-blend-mode: difference
,将它叠加到不同的黑白背景之下(黑白背景由 CSS 画出来):产生的效果如下:
CodePen Demo -- https://codepen.io/Chokcoco/pen/vpLWBW
我们可以尝试其他的组合,将会得到各种不同的感官效果。
使用
background-blend-mode
制作 hover 效果想象一下,在上面第一个例子中,如果背景的黑白蒙层不是一开始就叠加在 GIF 图下,而是通过某些交互手段叠加上去。
应用这种方式,我们可以使用
background-blend-mode
来制作点击或者 hover 时候的蒙板效果。假设我们有这样一张原图(黑白效果较好):
通过混合渐变背景色,配合 Hover 效果,我们可以给这些图配上一些我们想要的色彩:
CodePen Demo --background-blend-mode && Hover
代码非常简单,示意如下:
这里有几点需要注意的:
background-position
background-blend-mode
不限制具体某一种混合模式,可以自己多尝试使用 mix-blend-mode || background-blend-mode 改变图标的颜色
如果再运用上上一篇文章介绍的知识 两行 CSS 代码实现图片任意颜色赋色技术 ,我们可以实现 ICON 的颜色的动态改变。
假设我们有这样一张 ICON 图,注意主色是黑色,底色的白色(底色不是透明色),所以符合要求的 JPG、PNG、GIF 图都可以:
利用
background-blend-mode: lighten
可以实现动态改变图标主色的效果:而且这里的具体颜色(渐变、纯色皆可),动画方向都可以可以随意控制的。
CodePen Demo -- bg-blend-mode && hover
又或者是这种 hover fadeIn 效果:
CodePen Demo -- mix-blend-mode && hover
使用
mix-blend-mode
制作文字背景图我们将上面 ICON 这个场景延伸一下,ICON 图可以延伸为任意黑色主色白色底色图片,而颜色则可以是纯色、渐变色、或者是图片。
那么我们可以尝试让文字带上渐变色,或者说让文字透出图片。当然这个效果有一些 CSS 属性也可以完成。
譬如
background-clip: text
背景裁剪就可以让文字带上渐变色或者展示图片,可以戳这里看看 使用 background-clip 实现文字渐变。这里我们使用
mix-blend-mode
也能够轻易实现,我们只需要构造出黑色文字,白色底色的文字 div ,叠加上图片,再运用mix-blend-mode
即可,简单原理如下:核心代码如下,可以看看:
CodePen Demo -- mix-blend-mode && TEXT IMAGE
最后
更多精彩 CSS 技术文章汇总在我的 Github -- iCSS ,持续更新,欢迎点个 star 订阅收藏。
好了,本文到此结束,希望对你有帮助 :)
如果还有什么疑问或者建议,可以多多交流,原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。
The text was updated successfully, but these errors were encountered: