Enjoy 20% off all plans by following us on social media. Check out other promotions!
测验题

您是否有任何理由想使用 `translate()` 而不是 `absolute` 定位,或反之亦然? 为什么?

Topics
CSS性能
在GitHub上编辑

translate() 是 CSS transform属性的一个可能值。 当使用 translate()时,该元素仍占用其原有空间(类似`position: relative')。 但是当改变元素的绝对定位时,这些元素会从页面的流程中被移除,周围元素的定位也会受到影响。 因此必须重新计算页面布局。

更改 transformopacity 并不会触发浏览器的回流或重绘,而是在合成层单独计算和绘制。 另外改变绝对定位会触发回流。 使用transform浏览器会在GPU层中进行渲染,而absolute则在CPU层面进行 。 因此,translate()是更有效的,并将导致更短的绘制时间,以实现更平滑的动画。

在GitHub上编辑