我一直在尝试在包含css不透明度转换的实例的页面上使用混合混合模式。看起来发生的情况是,包含混合混合模式的div在过渡期间显示为没有混合模式,或者更确切地说,当动画正在进行时。我只在Chrome中发现它是一个问题。在Chrome中混合混合模式的问题
在我的示例中,虽然div正在将混合模式显示正确地转换为图像,但不会覆盖页面背景。一旦转换完成,它就会返回到显示状态。换句话说,当动画正在进行时,混合的div在黑色背景上显示为纯黄色,但由于它被设置为变暗,因此它应该在黑色背景下隐藏。一旦动画完成,它应该会出现。它在图像上看起来很正常。
我试过这是Firefox和Safari,似乎没有问题。
笔:http://codepen.io/anon/pen/QGGVOX
编辑 - 我发现了另一个实例,其中发生这种情况,不涉及任何动画。奇怪的是,当一个div的位置设置为固定而另一个是绝对位置时,会发生这种情况,请参阅:如果div .image的位置更改为绝对,则混合模式显示为正常。
body {
background: #000;
}
.blend {
height: 650px;
width: 50%;
background-color: yellow;
mix-blend-mode: darken;
position: absolute;
opacity: 1;
left: 0;
top: 0px;
z-index: 100;
}
img {
position: relative;
z-index: 0;
}
我有完全相同的问题,并失去了我的想法。如果您在过去的一个月内找到了解决方法,请发帖! – chrscblls