Выбор ответа Senior Позиционирование и z-index обновлено

fixed внутри элемента с transform

Вопрос

Модалка с position: fixed; inset: 0 вдруг занимает не весь экран, а только карточку, внутри которой лежит, и прокручивается вместе со страницей. Что вероятнее всего у карточки?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: transform, например translateZ(0). Предок с transform (а также filter, perspective, will-change: transform, contain: paint) становится containing block и для fixed, поэтому модалка позиционируется от карточки, а не от viewport. position: relative на fixed-потомка не влияет.…

Варианты ответа

  1. position: relative у самой карточки
  2. overflow: hidden для обрезки углов
  3. z-index: 1 вместе с position: relative
  4. transform, например translateZ(0)правильный ответ

Разбор

Предок с transform (а также filter, perspective, will-change: transform, contain: paint) становится containing block и для fixed, поэтому модалка позиционируется от карточки, а не от viewport. position: relative на fixed-потомка не влияет. overflow: hidden обрезает absolute-потомков, но fixed от viewport он не трогает. z-index с relative влияет на наложение, не на точку отсчёта для fixed.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.