CSS transition force reflow
最近需要修改bootstrap的轮播插件,把隐藏slide从display:none改为visibility:hidden,修修补补改完后在Firefox可以运行,但是在Chrome就不行了。
发现两个浏览器用的不是相同的CSS,Firefox通过transition: 0.6s ease-in-out left;产生过渡动画,而Chrome是通过transition: transform 0.6s ease-in-out,这种方式不需要重新计算css属性,更流畅。
通过打印transform属性发现,display:block并且包含transition时,force reflow没有生效(没有到最终状态,即过渡动画结束时的状态)。
取消next的过渡效果,问题就解决了。demo
fore reflow的细节还是有待了解。