首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >堆叠的半透明盒子的颜色取决于顺序?

堆叠的半透明盒子的颜色取决于顺序?
EN

Stack Overflow用户
提问于 2018-05-29 07:34:41
回答 2查看 5.1K关注 0票数 86

为什么两个堆叠的半透明盒子的最终颜色取决于顺序?

我怎样才能使它在两种情况下都得到相同的颜色?

代码语言:javascript
复制
.a {
  background-color: rgba(255, 0, 0, 0.5)
}

.b {
  background-color: rgba(0, 0, 255, 0.5)
}
代码语言:javascript
复制
<span class="a"><span class="b">          Color 1</span></span>
<span class="b"><span class="a">Different Color 2</span></span>

EN

回答 2

Stack Overflow用户

发布于 2018-05-29 07:53:37

您可以使用css属性mix-blend-mode : multiply (有限的browser support)

代码语言:javascript
复制
.a {
  background-color: rgba(255, 0, 0, 0.5);
  mix-blend-mode: multiply;
}

.b {
  background-color: rgba(0, 0, 255, 0.5);
  mix-blend-mode: multiply;
}

.c {
  position: relative;
  left: 0px;
  width: 50px;
  height: 50px;
}

.d {
  position: relative;
  left: 25px;
  top: -50px;
  width: 50px;
  height: 50px;
}
代码语言:javascript
复制
<span class="a"><span class="b">          Color 1</span></span>
<span class="b"><span class="a">Different Color 2</span></span>

<div class="c a"></div>
<div class="d b"></div>

<div class="c b"></div>
<div class="d a"></div>

票数 41
EN

Stack Overflow用户

发布于 2018-05-29 14:50:45

有关发生的情况的解释,请参阅Temani Afif的答案。

作为另一种解决方案,您可以选择一个跨度,例如a,如果它位于b内部,则对其进行定位,并为其提供较低的z索引。那么堆叠将始终是相同的:在第一行中,b被绘制在a之上,而在第二行中,a被绘制在b之下。

代码语言:javascript
复制
.a {
  background-color: rgba(255, 0, 0, 0.5);
}

.b {
  background-color: rgba(0, 0, 255, 0.5);
}

.b .a {position:relative; z-index:-1;}
代码语言:javascript
复制
<span class="a"><span class="b">     Color 1</span></span>
<span class="b"><span class="a">Same Color 2</span></span>

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

https://stackoverflow.com/questions/50574524

复制
相关文章

相似问题

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