回流
重新渲染頁面需要重新計(jì)算元素的幾何大小和位置,這個計(jì)算的過程稱之為回流。
回流的原因
- 初始化的時候,第一次回流
- 窗口大小變化
- 字體改變
- 增加或者移除樣式表
- 內(nèi)容變化
- 操作
class屬性- 操作
Dom- html設(shè)置行內(nèi)樣式
- offsetWidth, width, clientWidth, scrollTop/scrollHeight的計(jì)算
避免/減少回流的方式
- 添加
class樣式- 修改樣式直接更換
class名稱,不是改變某一個特定的屬性- 操作塊級元素時,可使其脫離文檔流,設(shè)置
position: fixedposition: absolute- 操作塊級元素時,可先隱藏元素,設(shè)置
display: none- 避免循環(huán)操作元素
- 避免使用
table布局
重繪
元素更新屬性,屬性只影響元素的外觀、風(fēng)格而不影響布局的稱之為重繪。
如color屬性
回流一定會引起重繪,但是重繪不一定引起回流。