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

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

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

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

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

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

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

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

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

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

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

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

Все подборки
  • Python9 224
  • Облачные технологии4 076
  • QA вакансии1 588
  • Android1 322
  • Инженер данных805
  • Продакт-менеджер368

Разработка

  • Backend вакансии1 317
  • iOS1 239
  • AI вакансии608
  • Fullstack вакансии523
  • Frontend вакансии456
  • Mobile вакансии28

По стеку

  • Go5 445
  • Java3 175
  • Kotlin1 119
  • Node.js1 026
  • Rust949
  • .NET666
  • PHP311
  • C#210
  • C++204

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

  • DevOps вакансии2 713
  • Kubernetes2 308
  • Linux-инфраструктура1 890
  • Terraform / IaC1 406
  • CI/CD842
  • Мониторинг и Observability645
  • SRE226
  • Кибербезопасность84

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

  • Аналитик данных483
  • Data Scientist469
  • Бизнес-аналитик349
  • Системный аналитик48

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

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

По регионам

  • Вакансии в США24 791
  • Вакансии в Европе9 439
  • Работа в России2 924
  • Вакансии в Канаде2 178

По формату

  • Удалённые вакансии43 505
  • Релокация в США24 791
  • Гибридная работа3 370
  • Офисная работа2 525

По уровню

  • Senior вакансии20 898
  • Middle вакансии12 438
  • Junior вакансии3 864

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

Все компании
  • Wise191 вакансия
  • Rakuten188 вакансий
  • ASML163 вакансии
  • Grab134 вакансии
  • Celonis48 вакансий
  • Spotify37 вакансий
  • Adyen28 вакансий
  • Infobip28 вакансий
  • Monzo20 вакансий
  • Darktrace17 вакансий

Вакансии из 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