当硬件加速被激活(通过will-change
或通过translateZ(0)
)并且你在chrome 45中设置到scale(0)
或从will-change
设置动画时,css转换不起作用。(版本45.0.2454.85(64位))
(Firefox 40可以与translateZ(0)
一起使用,但不能与"Intel Iris Pro OpenGL Engine"
一起使用)
演示:http://codepen.io/zapdev/pen/ojbdVb
(启用硬件加速,隐藏动画停止工作)
我目前的工作是:
.hide {
transform: scale(0.0002);
opcacity: 0;
transition: transform 400ms, opacity 0ms 400ms;
pointer-events: none;
}
编辑:
我在MacOS X上,我的WebGL渲染器
Chrome 47.0.2511.0 canary (64-bit)
另外:
will-change
可以与translateZ(0)
一起工作(如firefox 40),但不能与will-change
一起工作。似乎通常是硬件加速的方法。 最佳答案
浏览器不知道如何读取转换覆盖。
使用transform:translatez(“value”)时,将覆盖比例。
要使它工作,您需要用scale和translatez初始化所有div,这样它就可以在所有方面工作。
VIEW DEMO
div{
transition: transform 400ms;
transform:scale(1) translateZ(0);
}
div:hover{
transform: scale(1.4) translateZ(0);
}
div.hide{
transform: scale(0) translateZ(0);
}