Html CSS中透明PNG图像的背景色

Html CSS中透明PNG图像的背景色,html,css,png,background-color,Html,Css,Png,Background Color,在CSS中,是否可以在透明的PNG图像上应用背景色?下面是一个例子: 使用CSS,打开此图像 使用CSS代码,如背景色:rgba(0,0300.5) 全部是完整的CSS(当然还有HTML) 谢谢。使用CSS过滤器 摘自Chris Coyier的一篇文章: CSS过滤器是一个强大的工具,作者可以使用它来实现 不同的视觉效果(有点像Photoshop过滤器 浏览器)。CSSfilter属性提供对以下效果的访问 在渲染元素之前,对元素的渲染进行模糊或颜色移动 显示 模糊() 亮度() 对比度()

在CSS中,是否可以在透明的PNG图像上应用背景色?下面是一个例子:

使用CSS,打开此图像

使用CSS代码,如背景色:rgba(0,0300.5)

全部是完整的CSS(当然还有HTML)


谢谢。

使用CSS过滤器

摘自Chris Coyier的一篇文章:

CSS过滤器是一个强大的工具,作者可以使用它来实现 不同的视觉效果(有点像Photoshop过滤器 浏览器)。CSS
filter
属性提供对以下效果的访问 在渲染元素之前,对元素的渲染进行模糊或颜色移动 显示

  • 模糊()
  • 亮度()
  • 对比度()
  • drop-shadow()
  • 灰度()
  • 色调-旋转()
  • 倒置
  • 不透明度()
  • 饱和
  • 乌贼墨()

过滤样本(基于W3S)


img{
宽度:33%;
高度:自动;
浮动:左;
}
.blur{-webkit过滤器:blur(4px);过滤器:blur(4px);}
.brightness{-webkit过滤器:亮度(0.30);过滤器:亮度(0.30);}
.contrast{-webkit过滤器:对比度(180%);过滤器:对比度(180%);}
.grayscale{-webkit过滤器:灰度(100%);过滤器:灰度(100%);}
.huerotate{-webkit过滤器:色调旋转(180度);过滤器:色调旋转(180度);}
.invert{-webkit过滤器:invert(100%);过滤器:invert(100%);}
.opacity{-webkit过滤器:不透明度(50%);过滤器:不透明度(50%);}
.saturate{-webkit过滤器:饱和(7);过滤器:饱和(7);}
.sepia{-webkit过滤器:sepia(100%);过滤器:sepia(100%);}
.shadow{-webkit筛选器:放置阴影(8px 8px 10px绿色);筛选器:放置阴影(8px 8px 10px绿色);}
注意:Internet Explorer、Edge 12或Safari 5.1及更早版本不支持筛选器属性


您不能根据自己的意愿从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%);}

请检查这张表。
使用
背景色无法实现此效果,因为应用于覆盖元素的透明背景色也将始终影响PNG图像的透明部分

您需要
色调-旋转()
(将图像颜色旋转为紫色)和
亮度()
(使图像更暗):

img{
过滤器:色调旋转(230度)亮度(60%);
}

是的,您可以在CSS过滤器的帮助下完成此操作。

“CSS过滤器属性提供对模糊或颜色等效果的访问 在显示元素之前在元素的渲染上移动。 过滤器通常用于调整图像的渲染,例如 背景或边界。” -克里斯·科伊尔


请浏览以下网站:



不,不可能那样改变颜色。您希望图像在悬停状态下更改还是什么。@AnmolSandal使用CSS过滤器确实是可能的。是的,我已经搜索了它并找到了解决方案。对你的问题竖起大拇指,学到了新东西不是我的问题,但还是要谢谢你;)换颜色成功了吗?我没有得到完美的匹配,因为它不使用复制的答案@heshan从正确阅读他的评论@AnmolSanda“请检查此stackoverflow答案。通过CSS更改PNG图像的颜色?”@AnmolSanda请检查“请检查此stackoverflow答案。通过CSS更改PNG图像的颜色?”。你可以看到参考资料。所以,请在评论之前检查完整的评论。是的,我的意思是,如果我们没有答案,也可以在内容部分提供链接来帮助用户。我想这就是评论框的作用@他说他不认为我傲慢。在这之前我也犯了同样的错误。不要抄袭答案,请在评论中提及。“我不认为这是一个值得关注的问题。”安莫尔桑达说,那么最好在第一条评论中首先解释这个错误,而不是指出我提到的同一个参考。无论如何,下次我会添加引用作为注释。谢谢,谢谢。因此,没有真正的方法将低透明度颜色悬停在图像上,而不是将图像的颜色(使用色调旋转)完全更改为另一种颜色(就像使用
背景色:rgba(0300,0,15)
?你可以这样做,但即使你将此效果应用于覆盖元素,你也将始终影响图像的透明部分…哦,好吧,这很遗憾。我想到了图像映射,但你也不能在其上应用背景色。:/将其标记为最佳答案。你希望有悬停效果吗?不是真的,我正在寻找一种在透明图像上应用绿色而不在透明部分应用绿色的方法,如andreas所说。这里没有悬停效果。