Reflow и repaint - это процессы, связанные с перерисовкой и обновлением элементов на веб-странице в браузере.

Repaint

В случае изменения стилей элемента, не влияющих на его размеры и положение на странице (например, background-colorborder-colorvisibility), браузер просто отрисовывает его заново, с учётом нового стиля — происходит repaint (или restyle).

Reflow

Если же изменения затрагивают содержимое, структуру документа, положение элементов — происходит reflow (или relayout). Причинами таких изменений обычно являются:

  • Манипуляции с DOM (добавление, удаление, изменение, перестановка элементов);
  • Изменение содержимого, в т.ч. текста в полях форм;
  • Расчёт или изменение CSS-свойств;
  • Добавление, удаление таблиц стилей;
  • Манипуляции с атрибутом «class»;
  • Манипуляции с окном браузера — изменения размеров, прокрутка;
  • Активация псевдо-классов (например, :hover).

Назад