Chrome中的Chrome css3混合混合模式错误

kai*_*war 9 html5 animation css3

我有两个相互重叠的叠加层,叠加的部分使用混合混合模式混合.在chrome中应用了效果但是使用此属性有一个奇怪的div闪烁.这是什么闪烁的原因以及它如何解决.我已经在firefox上测试了它的良好运行但不是在chrome中.

截图

上面的图像是一旦动画结束,一旦完成,左边的div开始连续闪烁.

    <div class="bottom-banner wr-fl">
        <div class="left-overlay overlay"></div>
        <div class="right-overlay overlay"></div>
        <div class="center heading">
            {{entry.bottom_banner.banner_heading}}
        </div>
    </div>
    .bottom-banner .left-overlay
    {
        mix-blend-mode:multiply;
        background:rgba(0,54,108,0.7);
        transform:skew(-25deg);
        z-index:11;
        left:-280px;

    }
    .bottom-banner .right-overlay
    {
        width:500px;
        transform:skew(-25deg);
        right:-600px;
        animation:slideinbottom 2s ;
        background:red;
        mix-blend-mode:multiply;
    }
Run Code Online (Sandbox Code Playgroud)

Nic*_*k F 11

我有这个问题,发现它似乎是由混浊与混合混合模式的组合引起的.解决方案是向转换元素的父级添加规则will-change: opacity或者替换transform: translateZ(0)为转换元素的父级.其中任何一个都会这样做,但我认为这个will-change选项更可取(因为它不那么hacky).

在任何一种情况下,我认为效果是将该元素的绘制交给GPU(或者至少警告浏览器它可能被重新绘制),这似乎解决了这个问题.

由于Chromium bug追踪器中的这个问题,我指出了正确的方向.

  • 意志改变:不透明;工作完美。谢谢! (2认同)
  • 在Chrome 73 android中,这仍然是一个问题,此问题已解决。谢谢! (2认同)

Bil*_*ood -3

它适用于所有浏览器尝试这个

.bottom-banner .left-overlay
    {
       -webkit-mix-blend-mode: multiply;
       -moz-mix-blend-mode: multiply;
       -o-mix-blend-mode: multiply;
       -ms-mix-blend-mode: multiply;
        mix-blend-mode:multiply;
        background:rgba(0,54,108,0.7);
        -webkit-transform:skew(-25deg);
        -moz-transform:skew(-25deg);
        -ms-transform:skew(-25deg);
        transform:skew(-25deg);
        z-index:11;
        left:-280px;

    }
    .bottom-banner .right-overlay
    {
        width:500px;
        -webkit-transform:skew(-25deg);
        -moz-transform:skew(-25deg);
        -ms-transform:skew(-25deg);
        transform:skew(-25deg);
        right:-600px;
        -webkit-animation:slideinbottom 2s ;
         -moz-animation:slideinbottom 2s ;
          -ms-animation:slideinbottom 2s ;
           -o-animation:slideinbottom 2s ;
           animation:slideinbottom 2s ;
        background:red;
        -webkit-mix-blend-mode: multiply;
       -moz-mix-blend-mode: multiply;
       -o-mix-blend-mode: multiply;
       -ms-mix-blend-mode: multiply;
        mix-blend-mode:multiply;
    }
Run Code Online (Sandbox Code Playgroud)

  • 这个问题与跨浏览器兼容性无关。正如OP所示;混合模式在 Chrome 中有效,但有闪烁。 (2认同)