opacity与回流重绘
直观上来说,我仍然认为opacity与回流/重排没有半毛钱关系,但chrome控制台的性能分析报告显示确确实实出现了布局相关的渲染流程,但似乎是不确定的,存在某些契机。这太反直觉了,网上的资料也没有特别正确且直观的说明。所以下面只能根据个人推测来理解这个现象
牢记之所以使用 opacity 和 transform 等元素,最终是为了尽可能降低浏览器的计算成本,这一理论是正确的。
结论是,关于opacity的测试分为三种情况,分别是:
- 触发回流(Layout)=>重绘(Paint)=>合成(Composite Layers)
- 跳过回流和重绘,直接合成处理
- 触发重绘=>合成
案例如下