Размеры, margins и alignment abspos box
БазовыйЭкспертный
Базовый уровень
Abspos available space всегда definite
Использует inset-modified containing block как definite available space.
Automatic size выбирает stretch-fit
Выбирает stretch-fit automatic size при подходящих insets и self-alignment.
Automatic size выбирает fit-content
Выбирает fit-content automatic size в остальных обычных случаях.
Auto inset обнуляет auto margins
Разрешает auto margins в ноль при наличии auto inset в той же оси.
Auto margins делят remaining space
Распределяет remaining space между auto margins при заданных opposing insets.
Продвинутый уровень
Abspos sizing применяет готовые size constraints
Применяет готовые preferred, min и max size inputs в abspos sizing stage.
Percentage sizes используют original containing block
Разрешает percentage sizes относительно исходного absolute-position containing block, а не inset-modified rectangle.
Automatic size различает replaced cases
Учитывает replaced/non-replaced status и table-wrapper exception при выборе automatic size.
Margin box выравнивается в inset rectangle
Использует margin box как alignment subject, а inset-modified containing block как alignment container.
Auto inset фиксирует alignment к stronger edge
При auto inset выравнивает margin box к стороне stronger inset.
Overflow adjustment поступает от Box Alignment
Применяет готовую Box Alignment overflow adjustment при переполнении.
Экспертный уровень
Aspect ratio определяет automatic sizing axis
Выбирает ratio-dependent и ratio-determining axes и max-content path для automatic size.
Automatic minimum abspos box равен нулю
Применяет нулевой automatic minimum abspos box.
Полный abspos layout pipeline
Выполняет порядок inset rectangle → sizing → constraints → auto margins → self-alignment.
Negative inline remaining space назначается end margin
При отрицательном inline remaining space оставляет start auto margin нулевым и передаёт отрицательный остаток end margin.