CSS 将渐变作为蒙版应用到 DIV

CSS to apply gradient as mask to DIV

我有一个 div 具有以下颜色定义:

div{
  background-color: #009688;
  height: 100px;
}
<div></div>

现在我想在这个基色上叠加 alpha 渐变以获得类似的效果,就像我用这个定义得到的效果:

 div{
  background: linear-gradient(-45deg, rgba(0,105,96,1) 0%, rgba(11,155,159,1) 50%, rgba(2,142,145,1) 51%, rgba(0,203,175,1) 100%);
  height:100px;
}
<div></div>

我的想法是我不想为每种基色计算线性渐变行为。相反,我想使用 任意基色 并向它们添加 默认掩码 。 CSS3 这可能吗?

您可以通过在背景颜色上使用一些 white/black 颜色来近似它。只需调整每种颜色的 alpha 即可获得所需的效果:

.b1 {
  background-color: #009688
}

.b2 {
  background-color: red
}

div{
  
  background-image: 
   linear-gradient(-45deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.2) 50%,  rgba(0,0,0,0.3) 51%, rgba(255,255,255,0.3) 100%);
  height:100px;
}
<div class="b1"></div>

<div class="b2"></div>