浏览器渲染
浏览器渲染流程
javascript(触发页面视觉变化)
style(根据css重新计算样式)
layout(布局,得到元素的大小和位置)
paint(把元素实际绘制到页面上,像素化每个节点的过程)
composite(合成/复合)把页面拆成多个图层,进行绘制
回流(reflow)
对页面做了一些事情,导致了layout过程的再次发生
影响回流的一些操作
添加/删除元素操作stylesdisplay:noneoffsetLeftscrollTopclientWidth移动元素的位置修改浏览器大小,字体等
4 things a browser can animate cheaply
浏览器不会触发回流,而直接触发复合的过程
position: transform: translate(npx, npx)
防止布局抖动
避免回流
读写分离
利用fastdom 进行元素位置的读写分离