优化重绘重排方案

1.元素位置移动变换时尽量使用 css3 的 transform 来代替 top left 等操作变换和透明度 opacity 来改变仅仅影响图层的组合
2.使用 opacity 来代替 visibility
(1).使用 visibility 不触发重排,但是依旧重绘
(2).使用 opacity 即触发重绘,又触发重排 (GPU底层设计如此!)
(3).opacity 配合图层使用,即不触发重绘页不触发重排
原因:透明度的改变时,GPU 在绘画时只是简单的降低之前已经画好的纹理的 alpha 值来达到效果,并需要整体的重绘
不过这个前提是这个被修改的 opacity 本身是一个图层
3.不要使用 table 布局
table-cell
4.将多次样式属性的操作合并成一次操作
不要一条一条的修改 DOM 的样式,预先定义好 clss 然后修改 DOM 的 classname
5.将 DOM 离线后在修改
由于 display 属性为 none 的元素在不渲染树中,对影藏的元素操作不会引发其他元素的重排。
如果哟对一个元素进行复杂的操作,可以先影藏它,操作完成后在显示,这样只在影藏和显示时触发两次重排

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容