html - 灰度+颜色叠加

标签 html css

我正在尝试创建一种悬停效果,其中图像以全彩色开始,当我将鼠标悬停在图像上时,我希望它有一个蓝色覆盖层。

事实是,只有一个简单的蓝色叠加层,它只是在彩色图像之上放置一个半透明的蓝色 block ……这意味着其他颜色会稍微透过一点。我想要的是图像只是蓝色阴影。

现在,我已经设法让图像变成灰度,并且我已经设法得到蓝色叠加层,但是有什么方法可以让 CSS 叠加效果吗?将图像灰度化,然后在其上乘以颜色。

更简单的方法可能只是将效果创建为光栅图像,然后让它更改图像,但如果可以用代码来完成就更好了。

最佳答案

我认为您正在寻找 CSS filter 属性。在此处查看 David Walshe 的演示:http://davidwalsh.name/demo/css-filters.php

它目前是实验性的,我认为只有 Webkit 支持它,但这是使用 CSS 实现它的唯一方法。

您还可以查看 Adob​​e CSS 自定义过滤器:http://html.adobe.com/webplatform/graphics/customfilters/cssfilterlab/

我想你想做的事情的演示:http://jsbin.com/igahay/3011/ (来自本主题:CSS image overlay with color and transparency)

关于html - 灰度+颜色叠加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22153292/

相关文章:

jquery - 如果 currentTime 大于 X,则 HTML5 视频运行一次事件

javascript - 单击 href 链接,div 显示图像

javascript - 调整大小时没有延迟的砌体效果

html - CSS 转换和伪类

html - 页脚按钮固定了吗?

javascript - 用JS关闭汉堡菜单

html - 更改宽度属性是否会影响网格文本溢出?

html - 将鼠标悬停在关联的复选框上时,如何激活标签的 CSS 样式?

css - 从 CSS 媒体查询开始

javascript - 使用 Bootstrap 4 和 ReactJS 创建可折叠的表格单元格