CSS彩色滤光片覆盖 [英] CSS Color Filter Overlay
问题描述
我正在尝试在图像上创建颜色叠加层,例如在此应用中(图像上的绿色叠加层):
I'm trying to create a color overlay over an image, like in this app (the green overlay over the image):
http://i.imgur.com/4XK9J6G.png
对我来说,看起来好像他们不是在图像上简单地涂上颜色。看来他们正在使用某种绿色滤光片。我怎么能用CSS来模拟呢?
To me, it doesn't look like they're simply putting a color over the image. It looks like they're using some sort of green filter. How can I emulate this with CSS?
这是我开始的JSFiddle: https://jsfiddle.net/5ar4713h/embedded/result/
Here's the JSFiddle I started: https://jsfiddle.net/5ar4713h/embedded/result/
HTML :
<img src="http://www.planwallpaper.com/static/images/canberra_hero_image.jpg" />
CSS :
img {
display: block;
}
/* Filter */
img:after {
content: "";
}
推荐答案
结合使用CSS过滤器是一种方法,但是看不到实际的源页面。
A combination of CSS filters would be one method but without seeing the actual source page it's hard to be certain.
.wrap {
width: 400px;
height: 400px;
margin: 1em auto;
position: relative;
}
.wrap img {
-webkit-filter: sepia(100%) hue-rotate(90deg) saturate(400%);
filter: sepia(100%) hue-rotate(90deg) saturate(400%);
}
<div class="wrap">
<img src="http://lorempixel.com/image_output/nature-q-c-400-400-6.jpg" alt="" />
</div>
或者,一个简单的灰度
.wrap {
width: 400px;
height: 400px;
margin: 1em auto;
position: relative;
}
.wrap:after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 50%;
height: 100%;
background: rgba(0, 150, 0, 0.75);
}
.wrap img {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
<div class="wrap">
<img src="http://lorempixel.com/image_output/nature-q-c-400-400-6.jpg" alt="" />
</div>
这篇关于CSS彩色滤光片覆盖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!