如何使用 CSS 为图像添加低调(黑色、透明叠加)效果?

Posted

技术标签:

【中文标题】如何使用 CSS 为图像添加低调(黑色、透明叠加)效果?【英文标题】:How to add low-key (black, transparent overlay) effect to image using CSS? 【发布时间】:2017-06-14 05:25:08 【问题描述】:

我正在尝试使图像看起来有点透明?我真的不知道如何描述它,但它就像你可以在上面写文字并且图像在后面。

这对于 css 或 javascript 或任何其他语言是否可行?

【问题讨论】:

在 CSS 规则不透明度和使用 div 覆盖图像方面非常简单 您希望它看起来像部分透明,还是希望它部分透明? 看到这个link获得许多其他效果 【参考方案1】:

我认为你需要的是一个 CSS 过滤器。

对于最新的浏览器,请查看these examples,它使用:

img 
   -webkit-filter: brightness(20%);
    filter:brightness(20%);

对于较旧的浏览器,请查看these examples,它使用:

img 
    opacity: 0.3;
    filter: alpha(opacity=50); /* For IE8 and earlier */

【讨论】:

但是这样也会降低我放在图像上的文字的亮度,对吧?有什么办法不影响文字颜色? 是图像本身的文本部分,还是您将文本放在单独的标签中并将其定位在图像上?第一个不起作用,但后者会。只要确保文本没有嵌套在 img 标签内即可。【参考方案2】:

您可以在图像上添加一个蒙版,如下所示:

html:

<div>
<img scr="yourImage.jpg"  />
<div class="mask"></div>
</div>

css:

.mask
position:absolute;
width:100%;
height:100%;
background:rgba(0,0,0,0.3);

【讨论】:

您也可能更喜欢设置不透明度,如 Matthew Cawley 所述。 (我的意思是用理想的值应用这两种效果......)

以上是关于如何使用 CSS 为图像添加低调(黑色、透明叠加)效果?的主要内容,如果未能解决你的问题,请参考以下文章

仅使用 CSS 悬停在图像上的黑色透明覆盖?

如何在android中的图像上放置黑色透明

如何在背景图像上添加叠加不透明度? [复制]

使用 UIImageView 在 UIView 中切割透明孔

css 背景图像不透明度/叠加

图像叠加层上的 CSS 不透明度 [重复]