Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

+687новых вакансий за сутки·55 254вакансии открыты сейчас·Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Новые вакансии в TelegramРаботодателям
Talanto
Вакансии
Компании5 791
РезюмеAIПодготовкаСтатьи
ТарифыТарифы
Войти

Не нашли подходящее?

Пусть нужная вакансия найдёт вас сама.

  1. Подборка в TelegramНовые вакансии по вашему фильтру — сразу в бота.Подключить
  2. Мэтчи по резюмеЗагрузите резюме — покажем, где вы подходите лучше всего.Загрузить
  3. Сохранить фильтрНастройте поиск один раз и возвращайтесь к новым вакансиям.Настроить
Что нового на TalantoTalanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Для работодателей

Опубликуйте вакансию — отклики придут в ваш кабинет.

  1. Вакансиябесплатно
  2. Откликиконтакты бесплатно
  3. Наймэтапы и интервью

40 компаний публикуют вакансии напрямую · 4 391 кандидат открыт к предложениям

Разместить вакансию

Популярные направления

Все подборки
  • Python7 042
  • Облачные технологии5 085
  • QA вакансии1 814
  • Android1 199
  • Инженер данных831
  • Продакт-менеджер339

Разработка

  • iOS1 135
  • Backend вакансии1 131
  • Fullstack вакансии475
  • AI вакансии458
  • Frontend вакансии404
  • Mobile вакансии27

По стеку

  • Go4 093
  • Java2 435
  • Kotlin990
  • Node.js827
  • Rust665
  • .NET525
  • PHP282
  • C++223
  • C#199

DevOps и инфраструктура

  • Kubernetes2 931
  • Linux-инфраструктура2 312
  • DevOps вакансии2 110
  • Terraform / IaC1 714
  • CI/CD872
  • Мониторинг и Observability825
  • SRE253
  • Кибербезопасность50

Аналитика и данные

  • Аналитик данных497
  • Data Scientist463
  • Бизнес-аналитик374
  • Системный аналитик54

Другие направления

  • Проджект-менеджер119
  • UI/UX дизайн72
  • Ручное тестирование14

По регионам

  • Вакансии в США25 531
  • Вакансии в Европе9 792
  • Работа в России3 193
  • Вакансии в Канаде2 236

По формату

  • Удалённые вакансии43 578
  • Релокация в США25 531
  • Гибридная работа4 289
  • Офисная работа3 340

По уровню

  • Senior вакансии21 650
  • Middle вакансии12 211
  • Junior вакансии3 886

Сейчас нанимают

Все компании
  • Rakuten188 вакансий
  • ASML163 вакансии
  • Grab134 вакансии
  • Wise125 вакансий
  • Celonis28 вакансий
  • Infobip28 вакансий
  • Spotify24 вакансии
  • Adyen17 вакансий
  • Darktrace17 вакансий
  • Monzo13 вакансий

Вакансии из 344 источников: карьерные страницы компаний и джоб-борды.

КомпанииО насНовостиПубличная офертаУсловия использованияПолитика конфиденциальностиПоддержка
←К теме HTML/CSSВсе вопросы
HTML/CSSMiddleТеория

Что такое CSS z-index и как работает контекст наложения (stacking context)?

В закладки
Сначала попробуйте ответить сами30 секунд
Сравнить с ответом ↓

z-index работает только внутри stacking context. Новый контекст создаётся при position+z-index, opacity<1, transform, filter и др. Элемент с z-index:9999 внутри контекста с низким z-index будет перекрыт.

Как работает z-index

.box-a {
  position: relative;
  z-index: 1; /* выше box-b */
}
.box-b {
  position: relative;
  z-index: 0;
}

z-index работает только на positioned элементах (position не static) или flex/grid children.

z-index и контекст наложения (stacking context)

z-index определяет порядок отрисовки элементов вдоль оси Z (от экрана к зрителю). Но работает он не глобально — только внутри контекста наложения (stacking context), к которому принадлежит элемент.

Базовый порядок наложения без z-index

Без явного z-index элементы отрисовываются в следующем порядке (снизу вверх):

  1. Фоны и границы корневого элемента
  2. Блочные дочерние элементы (block)
  3. Floating-элементы
  4. Строчные дочерние элементы (inline)
  5. Positioned-элементы (position: relative/absolute/fixed/sticky) без z-index

Что создаёт новый stacking context

  • position: relative/absolute/fixed/sticky + z-index не auto
  • opacity < 1
  • transform, filter, clip-path, mask (любое значение кроме none)
  • will-change: transform (или любое animatable свойство)
  • isolation: isolate
  • Flex/grid item с z-index не auto

Классический баг: z-index не работает

<!-- Проблема: modal перекрыт sidebar -->
<div class="sidebar" style="position: relative; z-index: 1; transform: translateZ(0);">
  <!-- transform создаёт новый stacking context! -->
  <div class="modal" style="position: fixed; z-index: 9999;"></div>
  <!-- modal с z-index:9999 ограничен контекстом sidebar с z-index:1 -->
</div>
<div class="header" style="position: relative; z-index: 2;"></div>
<!-- header с z-index:2 перекрывает весь sidebar вместе с modal -->

Решение: вынос portal за пределы контекста

<!-- В React: portal в document.body -->
{ReactDOM.createPortal(
  <div className="modal">...</div>,
  document.body
)}

<!-- В Vue: Teleport -->
<Teleport to="body">
  <div class="modal">...</div>
</Teleport>

<!-- В ванильном JS -->
document.body.appendChild(modalElement);

Инструмент: isolation: isolate

.card {
  isolation: isolate; /* создаёт stacking context без z-index/opacity/transform */
  /* теперь pseudo-элементы и дочерние элементы не вступают в конфликт с внешними */
}

Дебаггинг stacking context

/* Chrome DevTools: Elements → Computed → показывает stacking context */
/* или: расширение CSS Stacking Context Inspector */

/* В коде: проверить через getComputedStyle */
const style = getComputedStyle(el);
console.log(style.transform, style.opacity, style.zIndex);

Подводные камни

  • transform: translateZ(0) и will-change: transform создают новый stacking context — распространённый паттерн «GPU layer hack» неожиданно ограничивает z-index дочерних модалок.
  • opacity: 0.99 (иногда используется вместо visibility) тоже создаёт stacking context.
  • Fixed-элементы (position: fixed) позиционируются относительно viewport, но если родитель имеет transform, fixed работает относительно этого родителя — баг в спецификации, не в браузере.
  • Гонка z-index: избегайте глобальных z-index: 9999 — используйте именованные токены (--z-modal: 300; --z-tooltip: 400) и документируйте уровни.
  • Flex-дочерние элементы принимают z-index без position — неожиданно отличается от поведения block-элементов.
  • Backdrop-filter на родителе ограничивает fixed-позиционирование у некоторых браузеров (Safari).

Частые вопросы на собеседовании

  • Что такое семантический HTML и почему он важен? Приведите примеры семантических элементов.
  • В чём разница между <script> с атрибутами defer и async?
  • В каких типах frontend-проектов HTML/CSS даёт реальный выигрыш, а где будет избыточен или неудачен?
  • Что такое Flexbox и чем он отличается от Grid? Когда использовать каждый?

Типичные ошибки

  • Смешивать «z-index и stacking context» с похожим механизмом без критерия выбора.
  • Игнорировать риск: неверно оценить границы применения темы «z-index и stacking context» и получить хрупкое решение.
  • Показывать только синтаксис и не объяснять поведение в runtime или сборке.

Что проверяет интервьюер

  • Объясняет почему большой z-index иногда не выводит элемент наверх.
  • Показывает на примере, как работает: z-index сравнивается внутри своего stacking context; новые контексты создают positioned elements, opacity меньше 1, transform, filter, isolation и другие свойства.
  • Называет production-нюанс и граничный случай для темы «z-index и stacking context».

Как вы знаете этот вопрос?

Проверить себя по теме HTML/CSS →

Источники

  • https://developer.mozilla.org/en-US/docs/Web/CSS/z-index
  • https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_positioned_layout/Stacking_context
←Предыдущий вопросЧто такое блочная модель CSS (box model) и как `box-sizing: border-box` её меняет?Следующий вопрос→Что такое critical CSS и почему это важно для производительности?

Связанные темы

HTML/CSScss-layoutui-debugging