foundation
Positioning
Осознанно выбирайте static, relative, absolute, fixed, sticky, inset offsets и поведение z-index.
Positioning меняет участие в normal flow и то, какой containing block задаёт inset offset.
| Значение | В потоке? | Типичное применение | |----------|-----------|---------------------| | static | да | по умолчанию | | relative | да (смещение только визуально) | подправить, context для absolute | | absolute | нет | overlay внутри positioned предка | | fixed | нет (viewport, если не захвачен) | постоянный chrome | | sticky | гибрид | заголовки секций в scroll container |
.centered {
position: absolute;
inset: 0;
margin: auto;
width: fit-content;
height: fit-content;
}
.sticky-header {
position: sticky;
top: 0;
}
Sticky нужен scroll-предок с местом для «прилипания»; `overflow: hidden` у родителей часто ломает поведение.
На интервью: центрирование absolute, почему sticky не работает, overlay и влияние positioned предков.
Типовые ошибки: absolute для общего layout страницы; sticky внутри overflow-hidden предков.
Чеклист:
- Сохраняйте normal flow, где можно.
- Определите containing block до absolute/fixed.
- Проверьте scroll containers для sticky.
- Logical inset для RTL.