Back to the Catalog
css
frontend
performance

The CSS Rendering Pipeline: Reflow vs Repaint & Why transform Is Cheap

14 questions

Follow a pixel from CSS to screen: Style → Layout → Paint → Composite. See exactly what makes the browser re-run Layout (reflow) versus just Paint (repaint), why transform and opacity ride the compositor and skip both, and how reading offsetHeight at the wrong moment forces a synchronous layout. The rendering-side companion to the event-loop quiz — same main thread, the other half of its story. Every claim is grounded in the browser's documented rendering steps.

Questions

  1. Not answered. What is the correct order of the browser's rendering pipeline?
  2. Not answered. What does the Style (Recalculate Style) step actually compute?
  3. Not answered. Which pipeline steps must run on each frame of the width transition?
  4. Not answered. What has Firefox (Gecko) historically called the step Chrome's DevTools labels Layout?
  5. Not answered. Which change triggers a repaint but no reflow?
  6. Not answered. Which of these property changes force a Layout (reflow)?
  7. Not answered. Why are transform and opacity the two 'cheap' properties to animate?
  8. Not answered. Which way of sliding the card 100px down is cheaper per frame, and why?
  9. Not answered. A 500ms synchronous task blocks the main thread. Which animation keeps moving?
  10. Not answered. What does will-change: transform actually do — and what is the catch?
  11. Not answered. Which lines force a synchronous layout right after a style write?
  12. Not answered. Why is this loop slow, and what is the one-line fix?
  13. Not answered. Rounded to two decimals, how many milliseconds is the 60fps frame budget?
  14. Not answered. Which statements about the rendering pipeline are true?