我一直在尝试在包含 css 不透明度转换实例的页面上使用混合混合模式。似乎正在发生的是,包含混合混合模式的 div 在过渡期间显示为没有混合模式,或者更确切地说,在动画正在进行时。我只发现它是 Chrome 中的一个问题。
在我的示例中,当 div 正在转换混合模式时,可以在图像上正确显示,但不能在页面背景上显示。转换完成后,它会返回到应有的显示状态。换句话说,当动画正在进行时,混合的 div 在黑色背景上显示为纯黄色,但由于它被设置为变暗,它应该在黑色背景上不可见。动画完成后,它会按原样显示。它在图像上看起来很正常。
我试过这是 Firefox 和 Safari,似乎没有问题。
笔:http ://codepen.io/anon/pen/QGGVOX
编辑 - 我发现了另一个不涉及任何动画的实例。奇怪的是,当一个 div 的位置设置为固定而另一个是绝对时,会发生这种情况,请参见此处:http : //codepen.io/anon/pen/wooRME 如果 div .image 的位置更改为绝对,则混合-mode 显示正常。
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;
}