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追踪器中的这个问题,我指出了正确的方向.
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)