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

+1 501новая вакансия за сутки·57 707вакансий открыто сейчас·Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

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

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

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

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

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

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

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

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

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

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

Все подборки
  • Python11 001
  • Облачные технологии7 882
  • QA вакансии2 530
  • Android1 457
  • Инженер данных929
  • Продакт-менеджер312

Разработка

  • iOS1 361
  • Backend вакансии1 335
  • AI вакансии645
  • Fullstack вакансии521
  • Frontend вакансии460
  • Mobile вакансии28

По стеку

  • Go6 500
  • Java3 643
  • Node.js1 203
  • Kotlin1 161
  • Rust1 155
  • .NET787
  • PHP334
  • C++285
  • C#211

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

  • Kubernetes4 701
  • Linux-инфраструктура3 588
  • DevOps вакансии3 059
  • Terraform / IaC2 617
  • Мониторинг и Observability1 284
  • CI/CD929
  • SRE345
  • Кибербезопасность28

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

  • Аналитик данных556
  • Data Scientist443
  • Бизнес-аналитик412
  • Системный аналитик71

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

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

По регионам

  • Вакансии в США28 307
  • Вакансии в Европе10 602
  • Работа в России3 671
  • Вакансии в Канаде2 400

По формату

  • Удалённые вакансии44 927
  • Релокация в США28 307
  • Гибридная работа6 438
  • Офисная работа4 602

По уровню

  • Senior вакансии22 956
  • Middle вакансии11 692
  • Junior вакансии3 903

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

Все компании
  • Wise190 вакансий
  • Rakuten189 вакансий
  • ASML164 вакансии
  • Grab135 вакансий
  • Celonis45 вакансий
  • Spotify36 вакансий
  • Infobip28 вакансий
  • Adyen27 вакансий
  • Monzo19 вакансий
  • Darktrace16 вакансий

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

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

В чём разница между position: relative, absolute, fixed, sticky и static?

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

static — в потоке без смещений; relative — в потоке, смещается визуально и создаёт containing block; absolute — вне потока, relative to ближайшего positioned предка; fixed — relative to viewport; sticky — прилипает при прокрутке в рамках scroll container.

relative

Элемент остаётся в потоке (занимает своё место), но визуально смещается относительно этого места. Важно: смещение не влияет на соседей — они не перестраиваются. Также relative создаёт containing block для дочерних absolute-элементов.

.tooltip-anchor {
  position: relative; /* создаём containing block */
}

.tooltip {
  position: absolute;
  top: 100%;  /* отступ от нижней границы .tooltip-anchor */
  left: 0;
}

Пять значений position

Свойство position определяет, как элемент участвует в потоке документа и относительно чего вычисляются его смещения (top, right, bottom, left).

static (по умолчанию)

Элемент находится в обычном потоке. Свойства смещения (top, left, …) не применяются. z-index не работает. Это поведение по умолчанию для всех элементов.

absolute

Элемент вырывается из потока — не занимает место в лейауте. Позиционируется относительно ближайшего предка с position, отличным от static (containing block). Если такого предка нет — relative to initial containing block (viewport в большинстве случаев).

.card {
  position: relative;
}

.badge {
  position: absolute;
  top: 8px;
  right: 8px;
  /* позиционируется относительно .card */
}

fixed

Позиционируется относительно viewport и не прокручивается со страницей. Вырывается из потока. Используется для хедеров, тостов, модальных оверлеев.

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 64px;
  z-index: 100;
  background: white;
}

sticky

Гибрид relative и fixed: элемент ведёт себя как relative до достижения порогового значения прокрутки, затем «прилипает» и ведёт себя как fixed — но только в пределах своего scroll container (родителя с overflow). После выхода из этого контейнера элемент уходит вместе с ним.

.table-header {
  position: sticky;
  top: 0;       /* прилипает к верху при прокрутке */
  z-index: 10;
  background: white;
}

.sidebar {
  position: sticky;
  top: 80px;    /* учитываем высоту фиксированного хедера */
  align-self: start; /* для grid/flex — не растягивать по высоте */
}

Сводная таблица

/* static   — в потоке, смещения не работают */
/* relative — в потоке, смещается визуально, creating block для absolute */
/* absolute — вне потока, relative to nearest positioned ancestor */
/* fixed    — вне потока, relative to viewport */
/* sticky   — в потоке / фиксируется при прокрутке в пределах scroll container */

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

  • Забытый relative на родителе — absolute-элемент уходит к viewport или нежелательному предку, если ни у одного родителя нет position: relative.
  • sticky не работает — самая частая причина: у родителя задан overflow: hidden или overflow: auto. Scroll container и sticky-элемент должны находиться в одном контексте прокрутки.
  • fixed и transform — если у предка задан transform, filter или perspective, position: fixed позиционируется относительно этого предка, а не viewport. Известная ловушка при анимации родительского контейнера.
  • z-index без stacking context — z-index работает только на позиционированных элементах (relative/absolute/fixed/sticky). Без явного создания stacking context порядок наложения может быть неожиданным.
  • absolute вырывает элемент из потока — соседи не «видят» его; он может перекрывать текст или другие элементы без видимых причин.
  • sticky и align-self: stretch — в grid-контейнере по умолчанию sticky-элемент растягивается по высоте ячейки и не прокручивается. Нужно задать align-self: start.
  • Скролл-контейнер для sticky должен иметь прокручиваемый контент — если родитель не переполняется, sticky ведёт себя как relative.

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

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

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

  • Объясняет отличия static, relative, absolute, fixed и sticky для потока и containing block.
  • Показывает на примере, как работает: позиционирование меняет расчет смещения и иногда создает новый контекст наложения; absolute ищет ближайший позиционированный containing block, а sticky переключается между потоком и фиксацией в пределах контейнера прокрутки.
  • Называет production-нюанс и граничный случай для темы «position в CSS».

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

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

Источники

  • https://developer.mozilla.org/en-US/docs/Web/CSS/position
←Предыдущий вопросКак понять, что проблема в проекте связана с HTML/CSS, а не с API, сетью, дизайном состояния или плохой архитектурой?Следующий вопрос→Что такое CSS custom properties (переменные) и как их использовать?

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

HTML/CSScss-layoutui-debugging

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

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