两行 CSS 代码实现图片任意颜色赋色技术
2019-01-17 22:20
821 查看
如何通过纯 CSS 技术实现任意图片的任意颜色赋色技术呢?
使用 background-blend-mode: lighten 实现任意图片颜色赋色技术
假设我们有这样一张图片,JPG、PNG、GIF 都可以,但是有一个前提要求,就是黑色纯色,背景白色:
利用 background-blend-mode ,我们可以在图片下叠加多一层其他颜色,通过 background-blend-mode: lighten 这个混合模式实现改变图片主体颜色黑色为其它颜色的目的。
简单的 CSS 代码示意如下:
.pic { width: 200px; height: 200px; background-image: url($img); background-size: cover; } .pic1 { background-image: url($img), linear-gradient(#f00, #f00); background-blend-mode: lighten; background-size: cover; }
注意,上面 CSS 这一句是关键 background-image: url($img), linear-gradient(#f00, #f00); ,这里我叠加了一层渐变层 linear-gradient(#f00, #f00) ,实现了一个纯红色背景,而不是直接使用 #f00 实现红色背景。
使用 background-blend-mode: lighten 实现主色改为渐变色
这个方法更厉害的地方在于,不单单可以将纯×××片由一种颜色改为另一种颜色,而且可以将图片内的黑色部分由单色,改为渐变颜色!
简单的 CSS 代码如下:
.pic { background-image: url($img), linear-gradient(#f00, #00f); background-blend-mode: lighten; background-size: cover; }
可以得到这样的效果:
OK,看到这里,大家伙肯定会有疑问了,这是怎么实现的呢?
这里就有必要解释一下 lighten 这个混合模式了。变亮,变亮模式与变暗模式产生的效果相反:
1.用黑色合成图像时无作用,用白色时则仍为白色
2.黑色比任何颜色都要暗,所以黑色会被任何色替换掉。反之,如果素材的底色是黑色,主色是白色。那就应该用变暗(darken)的混合模式
相关文章推荐
- 两行 CSS 代码实现图片任意颜色赋色技术
- 两行 CSS 代码实现图片任意颜色赋色技术
- 两行 CSS 代码实现图片任意颜色赋色技术
- 两行 CSS 代码实现图片任意颜色赋色技术
- 两行 CSS 代码实现图片任意颜色赋色技术
- css代码实现控制图片颜色或者改变图片颜色
- 【荐】JavaScript+CSS技术实现能覆盖SELECT的图片放大(放大镜)示例代码
- PNG格式小图标的CSS任意颜色赋色技术和filter:drop-shadow实现尖角带阴影的提示面板效果
- 纯CSS代码实现图片轮显
- 用网页技术CSS实现网页背景渐变的四种代码设置
- 用php实现的下载css文件中的图片的代码
- HTML5实现代码的隐藏(一种在图片里隐藏你的程序代码的技术)
- 用css来控制图片大小显示的实现方法与代码
- 纯CSS实现的漂亮的立体图片边框效果,阴影代码
- CSS实现图片半透明代码
- JavaScript图片放大技术(放大镜)实现代码分享
- DIV+CSS+JS实现图片<ul><li></li></ul>无缝滚动代码
- +【CSS3】使用纯css代码实现图片轮播效果
- 代码实现 按钮点击出现不同的图片或者颜色
- 纯CSS实现的漂亮的立体图片边框效果,阴影代码