translate
是transform
的一个值。改变transform
或者opacity
不会触发浏览器重新布局,或者重绘,只会触发复合。而改变绝对定位会触发回流,进而触发重绘,所以说在使用绝对定位时会触发重绘和回流操作。
并且transform
使浏览器为元素创建一个GPU
图层,但是改变绝对定位会使用到CPU
,因此translate
更加高效,可以缩短平滑动画的绘制时间。
而translate
改变元素时,元素依然会占据原始位置,但是绝对定位不会发生这样的情况。
为什么有时候人们用translate来改变位置而不是定位?
最新推荐文章于 2024-05-25 08:23:48 发布