码迷,mamicode.com
首页 > 其他好文 > 详细

为什么有时候人们用translate来改变位置而不是定位?

时间:2019-09-09 19:08:51      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:position   滑动   int   ref   tran   平滑   pac   bsp   aci   

translate()是transform的一个值。

改变transform或opacity不会触发浏览器重新布局(reflow)或重绘(repaint),只会触发复合(compositions)(复合是什么,我也不懂,没听说过,有知道的朋友可以在留言区告诉我)。

transform使浏览器为元素创建一个 GPU 图层

translate改变位置时,元素依然会占据其原始空间

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

改变绝对定位会使用到 CPU。

因此translate()更高效,可以缩短平滑动画的绘制时间。

 

为什么有时候人们用translate来改变位置而不是定位?

标签:position   滑动   int   ref   tran   平滑   pac   bsp   aci   

原文地址:https://www.cnblogs.com/wangxi01/p/11493448.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!