在前端开发中,经常会用到一个图标的两种或者多种颜色,来实现 hover、click 等实践的特效。如果图标较多,我可能会加载 Font Awesome 以及类似的矢量图标库。如果图标较少,一般都是通过 ps 等根据需求将图标调整成不同颜色并保存在项目中。其实对于纯色的 png 图片,我们完全可以通过 css filter 来调整颜色。
函数语法及说明
filter:hue-rotate(deg) | saturate(%) | brightness(%)
- hue-rotate 函数在输入图像上应用色相旋转。若值未设置值,默认为
0deg
。该值虽然没有最大值,超过360deg
的值相当于又绕一圈。 - saturate 函数表示饱和度。
- brightness 函数表示亮度。
示例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>css中filter对纯色png图片改变颜色</title>
<style type="text/css">
img {
filter: hue-rotate(121deg) saturate(100%) brightness(70%)
}
</style>
</head>
<body>
<img src="2.png" />
</body>
</html>