❗ Вебсайт в стадии бета-тестирования. Возможны ошибки.

Объектная модель представления вебстраницы

Конструктор вебстраниц должен иметь представление о процессах браузера для оптимизации критического пути рендеринга. Понимание процессов позволяет снизить время загрузки вебстраницы за счёт минимизации узлов и минимизации рекурсивного наследования стилей,

Процессы браузера при отображении вебстраницы:

  1. Обработать разметку HTML. Построить объектную модель вебстраницы (DOM).
  2. Обработать разметку в файлах стилей CSS. Построить объектную модель стилей вебстраницы (CSSOM).
  3. Объединить модели вебстраницы (DOM) и стилей (CSSOM) в единую модель представления вебстраницы (DOM+CSSOM).
  4. Вычислить макет позиционирования объектов вебстраницы.
  5. Отобразить вебстраницу на экране устройства пользователя.

Макетирование вебстраницы

Браузер объединяет деревья DOM и CSSOM в дерево представления (Render tree) вебстраницы. При этом выбирает только те узлы, которые необходимы для представления вебстраницы:

  1. Начинает с корня дерева DOM и обходит в глубину каждый видимый узел.
  2. Исключает невидимые узлы (метатеги, скрипты), а также узлы скрытые CSS (например, свойство display: none;).
  3. Для каждого видимого узла находит соответствующее правило в модели CSSOM и применяет это правило.
  4. В результате браузер получает дерево представления вебстраницы, которое содержит как содержательные данные, так и данные о стиле видимых элементов. Однако в дереве представления отсутствуют позиции на экране устройства пользователя.

Позиционирование объектов вебстраницы

На этапе позиционирования браузер вычисляет точное положение и размер объектов. Для этого:

  1. В метаданных вебстраницы браузер находит тег viewport:
<meta name="viewport" content="width=device-width,initial-scale=1" />
  1. Получив данные тега viewport, браузер опять обходит дерево, начиная с корня. В результате обхода браузер получает блочную модель (Box model), в которой точно зафиксированы положения каждого элемента в области просмотра. Все относительные измерения преобразованы в абсолютные значения.
  2. Данные поступают процессу растеризации (rasterizing), который отображает их в виде пикселей на экране устройства.

Время, затрачиваемое браузером на макетирование и позиционирование, зависит от размера вебстраницы, сложности правил стиля, особенностей экрана устройства.

Модель представления вебстраницы

Модель представления вебстраницы