CSS Бесплатно, без регистрации

Визуализатор CSS Stacking Context и z-index

Знакома ситуация: ставите дочернему блоку z-index: 99999, но он всё равно прячется под соседней карточкой? Причина — Stacking Context (контекст наложения). Переключитесь в 3D-вид слоев и поймите механику за секунды.

Результат
Готовый CSS-код
/* Valideyn yeni Stacking Context yaradır */
.card-a {
  position: relative;
  z-index: 1;
  isolation: isolate; /* və ya opacity: 0.99, transform */
}

/* Bu element digər kontekstləri aşa bilmir */
.child-modal {
  position: absolute;
  z-index: 9999; /* Valideynin z-index: 1 səviyyəsində ilişib qalır */
}

Как пользоваться

  1. Выберите готовый сценарий («Модалка в ловушке», «Дропдаун под соседней карточкой» или «Чистая изоляция»).
  2. Включите режим «3D Изометрия слоев» (3D Layers), чтобы увидеть, как браузер физически разносит слои по оси Z.
  3. Переключайте триггеры родительского блока A (opacity < 1, transform, filter, isolation) и следите за поведением дочернего элемента.
  4. Читайте блок живой диагностики и скопируйте корректный CSS-код решения проблемы.

Как это работает

Что такое Stacking Context (контекст наложения)?

Контекст наложения — это трехмерная иерархическая плоскость, определяющая, в каком порядке элементы выводятся поверх друг друга по оси Z. Когда элемент создает новый контекст, все его потомки замыкаются внутри него: никакой дочерний z-index не сможет вырваться выше родительского уровня по отношению к внешнему миру.

Что создаёт новый контекст наложения?

Многие думают, что виноват только z-index, но современный CSS создает контекст также при: opacity < 1, transform != none, filter != none, perspective, clip-path, mix-blend-mode, contain: paint и явном свойстве isolation: isolate.

/* Достаточно 0.99 прозрачности или незаметного поворота — и дочерний z-index изолирован! */
.parent {
  opacity: 0.99; /* Новый Stacking Context! */
}

isolation: isolate — спасение от хаоса с z-index

Свойство isolation: isolate позволяет явно и чисто создать новый контекст наложения без использования сомнительных трюков вроде transform: translateZ(0) или relative + z-index: 0. Внутри изолированного компонента z-индексы живут своей жизнью и не конфликтуют с глобальными слоями.

.card {
  isolation: isolate; /* Внутренние бейджи и иконки не вылезают за пределы карточки */
}

Частые вопросы

Почему z-index вообще не реагирует на изменение?

По умолчанию position: static игнорирует z-index. Чтобы свойство заработало, блоку необходимо задать position: relative, absolute, fixed или sticky (за исключением direct-child элементов CSS Flexbox и Grid).

Зачем в React используют Portals для модальных окон?

Порталы монтируют модалку или тултип прямо в корень <body>, обходя любые глубоко вложенные Stacking Context, созданные карточками, анимациями или скролл-контейнерами.

Как увидеть контексты наложения в браузере?

В Chrome DevTools откройте вкладку «More tools» → «Layers». Там доступна интерактивная 3D-модель всех композитных слоев открытой страницы.

Эта тема в курсе HTML и CSS

Другие CSS-инструменты

Генератор CSS-градиента Linear, radial и conic градиенты: выберите цвета, угол и точки — скопируйте готовый код. Генератор и песочница Flexbox Пробуйте flex-свойства контейнера и элементов: направление, выравнивание, отступы и готовый CSS. Генератор CSS Grid Задайте колонки и строки, отступы и выравнивание — скопируйте готовый код сетки. Генератор CSS box-shadow Тени для блоков: смещение, размытие, цвет и слои — скопируйте готовый код box-shadow. Генератор cubic-bezier Перетащите точки кривой easing и скопируйте готовый CSS-код transition. Генератор SVG-анимации Выберите фигуру и эффект — получите SVG и CSS keyframes для вставки на страницу. Калькулятор специфичности CSS Впишите селекторы — увидите вес (a,b,c), цветной разбор и то, какое правило победит. Визуализатор блочной модели CSS Content, padding, border и margin в виде схемы как в DevTools — и готовый CSS-код. Генератор CSS transform Сдвиг, поворот, масштаб и наклон элемента с исходной позицией на превью — и готовый код. Калькулятор CSS clamp() Введите мин. и макс. размер шрифта и ширину экрана — получите готовый clamp() для плавной типографики. Проверка контраста цветов (WCAG) Проверьте контраст текста и фона по WCAG AA и AAA и исправьте неподходящую пару цветов. Генератор CSS clip-path Полигоны, срезанные углы, стрелки и круги: перетаскивайте точки на превью и копируйте готовый CSS. Генератор CSS Glassmorphism Эффект матового стекла: backdrop-filter blur, насыщенность, световая грань и готовый CSS. Генератор CSS border-radius (Blob) Органические формы и 8-значный border-radius: настраивайте горизонтальные и вертикальные радиусы. Генератор CSS aspect-ratio и object-fit Конец сплющенным картинкам и прыжкам верстки (CLS): подбор пропорций aspect-ratio и точка фокуса object-fit. Студия CSS-фильтров Фотоэффекты без графических редакторов: blur, contrast, hue-rotate, sepia и трендовые Instagram-пресеты. Генератор OKLCH и палитр CSS Color 4 Идеально равномерная яркость для глаз и сочные цвета Display P3: подбор OKLCH, шкалы дизайн-систем и конвертация. Генератор CSS Scroll-driven Animations Анимации при скролле без JavaScript: свойства animation-timeline scroll() и view(), полоса чтения и плавное появление карточек. Генератор CSS Container Queries (@container) Конец привязке к экрану: компонент адаптируется к ширине своего родителя. Ресайз контейнера и правила @container вживую.
WhatsApp