我一直在尝试在一个包含CSS不透明度转换实例的页面上使用mix-blend-mode。看起来正在发生的是,在转换期间,包含混合模式的DIV显示为没有混合模式的状态。我只发现在Chrome中存在这个问题。
在我的示例中,当div正在变形时,混合模式在图像上正确显示,但不在页面背景上显示。一旦转换完成,它会恢复正常显示。换句话说,混合的div在黑色背景上在动画进行中显示为纯黄色,但由于它被设置为变暗,所以应该在黑色背景上是不可见的。一旦动画完成,它就会呈现出应有的样子。在图像上它看起来很正常。
我已经在Firefox和Safari中尝试过了,似乎没有问题。
笔: http://codepen.io/anon/pen/QGGVOX 编辑 - 我发现另一个出现这种情况的实例,它与任何动画无关。奇怪的是,当一个div的位置设为fixed而另一个div的位置设为absolute时,它会发生,参见这里:http://codepen.io/anon/pen/wooRME 如果div .image的位置改为absolute,则混合模式看起来正常。
在我的示例中,当div正在变形时,混合模式在图像上正确显示,但不在页面背景上显示。一旦转换完成,它会恢复正常显示。换句话说,混合的div在黑色背景上在动画进行中显示为纯黄色,但由于它被设置为变暗,所以应该在黑色背景上是不可见的。一旦动画完成,它就会呈现出应有的样子。在图像上它看起来很正常。
我已经在Firefox和Safari中尝试过了,似乎没有问题。
笔: http://codepen.io/anon/pen/QGGVOX 编辑 - 我发现另一个出现这种情况的实例,它与任何动画无关。奇怪的是,当一个div的位置设为fixed而另一个div的位置设为absolute时,它会发生,参见这里:http://codepen.io/anon/pen/wooRME 如果div .image的位置改为absolute,则混合模式看起来正常。
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;
}