css中制作动画为什么⼈们⽤translate来改变位置⽽不是定位?

    科技2024-06-05  74

    1.translate()是transfrom的一个值。改变transfrom或者opacity不会触发浏览器重新布局(reflow)或重绘(repaint),只会触发复合(compositions)。

    2.改变绝对定位会触发重新布局,进而触发重绘和复合。

    3.transfrom使浏览器为元素创建一个GPU。但改变绝对定位会使用到GPU。因此translate()更高效,可以缩短平滑动画的绘制时间。

    4.translate改变位置时,元素依旧会占据其原始空间,绝对定位不是。

    Processed: 0.010, SQL: 8