Skip to content

Instantly share code, notes, and snippets.

View geobde's full-sized avatar

George Bardi geobde

View GitHub Profile
@geobde
geobde / what-forces-layout.md
Created March 12, 2023 14:09 — forked from paulirish/what-forces-layout.md
What forces layout/reflow. The comprehensive list.

What forces layout / reflow

All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.

Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.

Element APIs

Getting box metrics
  • elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParent
%lex
%%
\s+
\"[^"]+\" return 'WORD'
"or" return 'OR'
"and" return 'AND'
"not" return 'NOT'
"(" return '('