TGViewer
Вёрстка сайтов | HTML, CSS, JS Вёрстка сайтов | HTML, CSS, JS @free_html_lessons · 4.5K subscribers
Post #2248 1.23K
Как браузер рисует сайт: что такое layout, paint и reflow

Когда ты открываешь любую страницу в браузере, начинается цепочка процессов. Чтобы ты понимал, производительность вёрстки — это не только «как красиво», но и насколько быстро всё рендерится. Вот что происходит «под капотом»:

Этапы рендеринга сайта
1. HTML → DOM (Document Object Model)
Браузер читает HTML и строит древовидную структуру. Всё, что ты написал — <div>, <p>, <h1> — превращается в объекты, которые JS может изменять.
2. CSS → CSSOM (CSS Object Model)
Параллельно браузер анализирует CSS. Правила, селекторы, каскад, наследование — всё сводится в дерево стилей.
3. DOM + CSSOM = Render Tree
Из двух деревьев строится дерево отрисовки. Оно содержит только те элементы, которые реально отображаются (например, display: none сюда не попадают).

Layout (или reflow)
Браузер рассчитывает размеры, положение и геометрию всех элементов: где находится блок, какая у него ширина и высота, отступы, границы, вложенность и т.д.
Что может вызвать повторный layout (reflow):
- изменение размеров (width, height)
- изменение положения (top, left, margin, padding)
- изменение шрифта
- добавление/удаление элементов в DOM

❗️Это один из самых тяжёлых этапов — он может тормозить страницу.

Paint
Далее браузер «рисует» пиксели — цвет фона, бордеры, тени, изображения и т.д. Это проще, чем layout, но всё равно требует ресурсов.

Composite
Если на странице есть слои (например, position: fixed, transform, opacity) — они объединяются на этом этапе. Это последний шаг перед выводом на экран.

Как избежать лишних затрат
Не меняй width, top, margin, padding — это вызывает reflow.

Лучше используй transform: translate() и opacity — это затрагивает только composite, и работает быстрее.

Если используешь анимации — делай их через transform, а не left/right.

Как проверить
Открой DevTools → вкладка Performance
→ нажми «Record»
→ соверши действия на странице
→ посмотри, где происходит Layout, Paint, Composite.

#полезности
  • 👍 7
More from @free_html_lessons
  1. Oct 6, 2026Post #3078
  2. Oct 6, 2026Cтартовый шаблон для верстки и js проектов на vite (scss, PostCSS) Ссылка на github 👨‍💻…
  3. Oct 5, 2026Post #3076
  4. Oct 5, 2026Атрибут rel="noreferrer" Читать 👨‍💻 #html | #полезности
  5. Oct 4, 2026Подборка лучших постов за прошлую неделю Лучшие статьи @free_html_lessons: 1. Применение р…
  6. Oct 3, 2026Мета теги Apple Они помогают улучшить отображение сайта в браузере Safari, настройку работ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →