css改变图标颜色
一、CSS3 mask
CSS3 mask默认是基于透明度实现遮罩效果的。也就是实色区域显示,透明区域隐藏。因此,我们只需要把目标图标颜色#f4615c作为背景色,然后原始图标(无论什么颜色都可以)作为遮罩图片,效果就出来了。
效果:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> img { width: 60px; height: 60px; } .colorful { display: inline-block; width: 60px; height: 60px; background: linear-gradient(to right, red, yellow, green); background-size: 80%; -webkit-mask: url(img/snowflake.png) no-repeat; -webkit-mask-size: 100% 100%; mask: url(img/snowflake.png) no-repeat; mask-size: 100% 100%; } </style> </head> <body> <h4>原图</h4> <p><img src="img/snowflake.png"></p> <h4>变成指定红色</h4> <p><span class="colorful"></span></p> </body> </html>
效果图片
二、css background-blend-mode
此方法图片必须是黑图白底,如果是彩色的,颜色会混淆在一起;其次非图形部分必须是白色,不能是透明,因为透明会被当做黑色处理。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> img { width: 60px; height: 60px; } .colorful { display: inline-block; width: 60px; height: 60px; background:url(img/snowflake1.jpg) no-repeat, linear-gradient(to right, red, yellow, green) ; background-size:cover; background-blend-mode: lighten; } </style> </head> <body> <h4>原图</h4> <p><img src="img/snowflake.png"></p> <h4>变成指定红色</h4> <p><span class="colorful"></span></p> </body> </html>
效果
三、css滤镜drop-shadow
使用了CSS3滤镜filter
中的drop-shadow(drop-shadow
滤镜可以给元素或图片非透明区域添加投影)。用drop-shadow
添加投影模糊度为0,再隐藏原图片。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> .wrap { width: 60px; height: 60px; overflow: hidden; } img { width: 60px; height: 60px; position: relative; left: -60px; /*在Chrome浏览器下(低版本),如果一个元素的主体部分,无论以何种方式,只要在页面中不可见,其drop-shadow是不可见的;实体部分哪怕有1像素可见,则drop-shadow完全可见。*/ border-right: 60px solid transparent; filter: drop-shadow(60px 0px 0 red); } </style> </head> <body> <div class="wrap"> <img src="img/snowflake.png" alt=""> </div> </body> </html>
效果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!