开发者社区> 问答> 正文

居中为什么要使用transform(为什么不使用marginLeft/Top)

居中为什么要使用transform(为什么不使用marginLeft/Top)

展开
收起
问答小能手! 2021-01-08 17:28:51 1978 0
1 条回答
写回答
取消 提交回答
  • 来自昆仑山,真名陆离。

    transform transform 属于合成属性(composite property),对合成属性进行 transition/animation 动画将会创建一个合成层(composite layer),这使得被动画元素在一个独立的层中进行动画。通常情况下,浏览器会将一个层的内容先绘制进一个位图中,然后再作为纹理(texture)上传到 GPU,只要该层的内容不发生改变,就没必要进行重绘(repaint),浏览器会通过重新复合(recomposite)来形成一个新的帧。 margin top / left top/left属于布局属性,该属性的变化会导致重排(reflow/relayout),所谓重排即指对这些节点以及受这些节点影响的其它节点,进行CSS计算->布局->重绘过程,浏览器需要为整个层进行重绘并重新上传到 GPU,造成了极大的性能开销。

    2021-01-08 17:29:10
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Top 5 mistakes when wriiting a 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载