首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能将图像与前景和背景混合

不能将图像与前景和背景混合
EN

Stack Overflow用户
提问于 2016-12-16 13:05:53
回答 1查看 171关注 0票数 0

MWE这里:https://codepen.io/anon/pen/ZBVWBx

我想把一个标志和渐变混合起来,这样:

  • 渐变只显示图像的字母
  • 图像的背景(当前为白色)与页面的背景相匹配

这与这里的例子类似。

到目前为止,我已经得到了他们两个,但分开:

代码语言:javascript
复制
.amyspark-logo-1 { /* background */
  background: url('https://i.imgur.com/CZUynhW.png');
  background-size: 100%;
  height: 10rem;
  mix-blend-mode: overlay;
}

.amyspark-logo-2 { /* logo + gradient */
  background: url('https://i.imgur.com/CZUynhW.png'), linear-gradient(pink, red);
  background-size: 100%;
  height: 10rem;
  background-blend-mode: screen;
}

能办到吗?我尝试使用一个透明的图像作为标志,但这完全打破了background-blend-mode

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-17 09:05:21

这可以通过一些有点棘手的布局来完成,使用反转:

代码语言:javascript
复制
.container {
  width: 600px;
  height: 400px;
  border: solid 1px red;
  position: relative;
  background-image: url(http://lorempixel.com/400/200);
  background-size: cover;
} 

.element {
  width: 100%;
  height: 100%;
  border: solid 1px green;
  position: absolute;
  top: 0px;
  background-size: cover;
}

.white {
  background-image: url(https://i.stack.imgur.com/C4CyU.jpg);
  mix-blend-mode: multiply;
}

.black {
  background-image: linear-gradient(cyan, yellow), url(https://i.stack.imgur.com/C4CyU.jpg);
  background-blend-mode: screen;
  filter: invert(1);
  mix-blend-mode: screen;
}
代码语言:javascript
复制
<div class="container">
<div class="element white"></div>
<div class="element black"></div>
</div>

我需要使用倒置来使用一个单一的文件为标志。如果你可以使用两个版本的标志,一个是相反的另一个,这将是不那么棘手。

还请注意,在此版本中,渐变的颜色需要设置为逆(因为上述技巧)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41185092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档