[面试题] 为什么有时候⽤ translate 来改变位置⽽不是修改其定位?

阅读 2.1k
2 个回答

改变元素的 transform 不会触发重排或重绘,只会触发复合。使用改变元素定位的方式可能会触发重排。

而且在修改 transform 来变更元素位置时会更加顺滑,使用修改元素定位比如说 leftright 之类的属性是在一些场景下即使元素脱离了文档流,也会出现卡顿的情况。

本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
  1. 不用触发浏览器的重排,元素在 flow layout 的位置是固定的
  2. transform 相比 absolute ,可以利用 GPU 加速。所以动画的时候使用 transform 性能会提高非常多
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题