Встречается на собеседованиях • сегодня
Как избежать reflow
Reflow (перерасчет макета) — это дорогая операция, которая может замедлить производительность. Вот как его минимизировать:
- Избегайте изменения стилей по одному — группируйте изменения через
classListилиrequestAnimationFrame:
js
// Плохо
el.style.width = '100px';
el.style.height = '100px';
// Хорошо
el.classList.add('resized');
text
2. **Используйте `transform` и `opacity`** — они не вызывают reflow, так как работают в композитном слое.
3. **Кешируйте значения DOM** — если нужно много читать/писать, сначала прочитайте все значения, затем записывайте:
```js
const width = el.offsetWidth; // Чтение
el.style.width = width + 10 + 'px'; // Запись-
Избегайте табличных布局ов — они вызывают reflow при любом изменении.
-
Используйте
documentFragmentдля массового добавления элементов в DOM. -
Применяйте
position: absolute/fixedдля анимируемых элементов, чтобы вывести их из общего потока.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы