CSS彩色滤光片覆盖 [英] CSS Color Filter Overlay

查看:83
本文介绍了CSS彩色滤光片覆盖的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在图像上创建颜色叠加层,例如在此应用中(图像上的绿色叠加层):

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆