table的重繪重排成本高于div元素,所以現(xiàn)代布局已經(jīng)放棄了table布局,除非需要用到表格。問題:那么這樣的重繪方式成本是與直接使用table布局一樣嗎?.father{ display:table;
}.father children{
display: table-cell;
vertical-align: middle;
}附加問題:table的重繪成本高在哪里呢?
1 回答

慕森王
TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊
重繪重排的成本高在于 重新計(jì)算 重新渲染,
之所以說table性能不好就在于這里,
因?yàn)槊啃忻苛忻總€(gè)單元格都可能要重新計(jì)算,單元格內(nèi)嵌套復(fù)雜元素后計(jì)算成本更高,
這里說的重新計(jì)算是因?yàn)榇蠖鄶?shù)單元格 或者說 tabel整體寬度長度不是固定的
都是彈性的
就算是現(xiàn)在具有相同特性的flex
如果頁面、頁面元素是固定的 那么table也好flex也好,性能幾乎無差
如果有flex table 中頻繁隱藏、出現(xiàn)子元素 那么就重復(fù)觸發(fā)整體的重新計(jì)算 重新渲染
所以說 性能差就差在于 "它" 影響了 "別人"
添加回答
舉報(bào)
0/150
提交
取消