Расчёт main size flex items
БазовыйЭкспертный
Базовый уровень
Flex basis как sizing-вход
Определяет sizing-вход flex item из его flex basis, включая `auto`, `content` и нулевой basis.
Grow и shrink factors
Различает назначение grow и shrink factors при избытке и недостатке пространства.
Продвинутый уровень
Flex base и hypothetical main sizes
Вычисляет flex base size и hypothetical main size с корректным применением min/max constraints.
Выбор grow или shrink mode
Выбирает grow или shrink mode по hypothetical outer main sizes строки.
Initial free space
Вычисляет initial free space с учётом замороженных и незамороженных items.
Экспертный уровень
Первичная заморозка inflexible items
Определяет и первоначально замораживает inflexible items.
Scaled shrink factors
Вычисляет scaled shrink factors и пропорции отрицательного пространства.
Remaining free space
Пересчитывает remaining free space на итерациях resolution loop.
Min/max violations
Ограничивает target sizes, вычисляет violations и замораживает соответствующую группу items.
Target и used main sizes
Завершает resolution loop и переносит target main sizes в used main sizes.
Неполное заполнение flex factors
Разрешает случай, когда сумма flex factors меньше единицы и свободное пространство заполняется не полностью.