logo

有没有什么理由你会选择使用 translate() 而不是 absolute positioning(绝对定位),或者反过来?为什么?

Is there any reason you'd want to use translate() instead of absolute positioning, or vice-versa? And why?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: hard

分类: Performance

标签: transform, translate, reflow, repaint, gpu

参考答案摘要

答案 translate() 是 CSS transform 的一个取值。修改 transform 或 opacity 不会触发浏览器的 reflow 或 repaint,但会触发合成(compositions);而修改绝对定位会触发 reflow。transform 会让浏览器为该元素创建一个 GPU layer,但修改绝对定位属性会使用 CPU。因此 translate() 更高效,并且会带来...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

有没有什么理由你会选择使用 translate() 而不是 absolute positioning(绝对定位),或者反过来?为什么?

Hardcss

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案