是的,使用transition: all
可能会导致性能上的重大缺陷。在很多情况下,浏览器会查看是否需要进行过渡,即使用户看不到它,例如颜色变化,尺寸变化等。
我能想到的最简单的示例是:-尝试更改缩放级别或字体的大小,您会看到所有内容都变成动画了。很多此类用户交互,但是可能会发生一些界面更改,从而导致某些块中的重排和重新绘制,这可能会告诉浏览器尝试对这些更改进行动画处理。
因此,一般而言,建议您不要使用,transition: all
而应使用直接转换。
all
过渡还有其他问题,例如页面加载时的动画飞溅,首先是渲染块的初始样式,然后将样式应用于动画。在很多情况下,这不是您想要的东西:)