使用CSS滤镜
通过Chris Coyier的有关滤镜的文章:
CSS滤镜是一种强大的工具,作者可以使用它们来实现各种视觉效果(有点像浏览器中的Photoshop滤镜)。CSS
filter
属性提供了在元素渲染之前对其进行模糊或颜色转换等效果的访问。
- blur():模糊
- brightness():亮度
- contrast():对比度
- drop-shadow():阴影
- grayscale():灰度
- hue-rotate():色相旋转
- invert():反向
- opacity():透明度
- saturate():饱和度
- sepia():褐色
滤镜示例(基于W3S):
<!DOCTYPE html>
<html>
<head>
<style>
img {
width: 33%;
height: auto;
float: left;
}
.blur {-webkit-filter: blur(4px);filter: blur(4px);}
.brightness {-webkit-filter: brightness(0.30);filter: brightness(0.30);}
.contrast {-webkit-filter: contrast(180%);filter: contrast(180%);}
.grayscale {-webkit-filter: grayscale(100%);filter: grayscale(100%);}
.huerotate {-webkit-filter: hue-rotate(180deg);filter: hue-rotate(180deg);}
.invert {-webkit-filter: invert(100%);filter: invert(100%);}
.opacity {-webkit-filter: opacity(50%);filter: opacity(50%);}
.saturate {-webkit-filter: saturate(7); filter: saturate(7);}
.sepia {-webkit-filter: sepia(100%);filter: sepia(100%);}
.shadow {-webkit-filter: drop-shadow(8px 8px 10px green);filter: drop-shadow(8px 8px 10px green);}
</style>
</head>
<body>
<p><strong>Note:</strong> The filter property is not supported in Internet Explorer, Edge 12, or Safari 5.1 and earlier.</p>
<img src="https://istack.dev59.com/nPnsV.webp" width="300" height="300">
<img class="blur" src="https://istack.dev59.com/nPnsV.webp" width="300" height="300">
<img class="brightness" src="https://istack.dev59.com/nPnsV.webp" width="300" height="300">
<img class="contrast" src="https://istack.dev59.com/nPnsV.webp" width="300" height="300">
<img class="grayscale" src="https://istack.dev59.com/nPnsV.webp" width="300" height="300">
<img class="huerotate" src="https://istack.dev59.com/nPnsV.webp" width="300" height="300">
<img class="invert" src="https://istack.dev59.com/nPnsV.webp" width="300" height="300">
<img class="opacity" src="https://istack.dev59.com/nPnsV.webp" width="300" height="300">
<img class="saturate" src="https://istack.dev59.com/nPnsV.webp" width="300" height="300">
<img class="sepia" src="https://istack.dev59.com/nPnsV.webp" width="300" height="300">
<img class="shadow" src="https://istack.dev59.com/nPnsV.webp" width="300" height="300">
</body>
</html>
img:hover {
filter: hue-rotate(250deg);
}
<img src="https://istack.dev59.com/nPnsV.webp" />
background-color: rgba(0,300,0,.15)
一样)? - Wyvh"CSS filter属性提供了在元素显示之前对其呈现进行模糊或颜色转换等效果的访问。滤镜通常用于调整图像、背景或边框的呈现。" - Chris Coyier
请查看以下网站:
你不能像你想的那样从CSS中更改图像的颜色。但是你可以使用滤镜在一定程度上实现它。
.saturate {-webkit-filter: saturate(3); filter: saturate(3);}
.grayscale {-webkit-filter: grayscale(100%); filter: grayscale(100%);}
.contrast {-webkit-filter: contrast(160%); filter: contrast(160%);}
.brightness {-webkit-filter: brightness(0.25); filter: brightness(0.25);}
.blur {-webkit-filter: blur(3px); filter: blur(3px);}
.invert {-webkit-filter: invert(100%); filter: invert(100%);}
.sepia {-webkit-filter: sepia(100%); filter: sepia(100%);}
.huerotate {-webkit-filter: hue-rotate(180deg); filter: hue-rotate(180deg);}
.rss.opacity {-webkit-filter: opacity(50%); filter: opacity(50%);}
请查看这个stackoverflow的答案。 如何通过CSS更改PNG图像的颜色?