Q25
★ ★ ★ ★ ★
移动端适配 1px、使用 transform 居中、left/top 动画 vs transform 动画?
⚡ 速记答案(30 秒)
1px 见第 8 题。为什么用 transform 居中/做动画:transform 不触发布局,只影响合成层,性能更好。margin-left/top 会参与布局计算,频繁修改更卡。
📖 详细讲解
标准面试回答(推荐记住)
这道题问了几个相关问题。1px 问题见前面的题目,用 transform: scale(0.5) 缩放解决。为什么用 transform 居中而不用 margin:transform 不会触发布局计算,而 margin 需要重新计算周围元素的位置。做动画时用 transform 而不是 left/top 也是同样的原因:transform 只影响合成层,浏览器可以直接在 GPU 上处理;而 left/top 的变化需要重新计算布局,触发回流和重绘,性能差很多。
✅ 面试要点
- •transform 不触发布局
- •left/top 动画会回流
- •性能敏感场景用 transform