- Reflow ... 各HTML要素を解釈して、それぞれが占めるスペースを算出する
- Repaint ... 算出したスペースのなかに、内容を描画していく
- Reflowは「表示すべきものの配置が変わる」ことをきっかけとして発生する。
- 配置が変わる例
- 要素の追加・削除・更新
- すでに存在する要素の、寸法や余白が変わり得るスタイル変更
- windowサイズの変更やフォントサイズの変更、そしてスクロールなどの、ユーザーの操作
- display: none (リフローとリペイント)、あるいは visibility: hidden (位置の変更は起きないので、リペイントのみ) による DOM ノードの見た目の変更
- ページ中の DOM ノードの位置の移動やアニメーション
- スタイル属性のちょっとした変更のためのスタイルシート追加
- 実際にReflowが起きるタイミング
- フレーム更新の直前
- JavaScriptから、寸法に関係するスタイル関係の値にアクセス(参照も含む)
- Repaintを強制的に発生
$(elem).hide().show();
|