CSS-свойствоВ стандарте

CSS position — синтаксис и примеры

CSS-свойство position: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.

Суть темы

Назначение «position» раскрывается через задачу «управлять местом элемента в потоке, его контекстом или взаимным расположением блоков». Выбирает схему позиционирования и правила для inset-свойств. Для воспроизводимой проверки «position» используйте пример в форме, где часть полей становится недоступной и наблюдайте перестроение при смене writing-mode.

Практическое правило для position

Проверяя «position», соблюдайте правило: проверяйте position вместе с родительским контекстом и соседними правилами. Для «position» изменяйте одно условие за запуск и фиксируйте фактический результат.

Синтаксис position

Синтаксис «position» показан на минимальном фрагменте без внешнего фреймворка. Сначала запустите исходный вариант, затем меняйте отмеченную часть.

css
.demo {
  position: sticky;
}
Открыть в Playground

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

Выбирает схему позиционирования и правила для inset-свойств. Для «position» проверьте две контрольные точки — перестроение при смене writing-mode и момент загрузки ресурса в Network: так видно, на каком этапе появляется итоговое поведение этой темы.

Проверка в проекте

  • Определите содержащий блок для relative, absolute, fixed или sticky; результат относится непосредственно к «position».
  • Снять JavaScript и убедиться, что базовая информация остаётся доступной при разборе «position».
  • Проверьте «position» в форме, где часть полей становится недоступной через перестроение при смене writing-mode и запишите наблюдаемое изменение.
Выбор конструкции

Критерий выбора «position» — предсказуемая работа в заявленном контексте. Для «position» подтвердите её через перестроение при смене writing-mode и соблюдите ограничение: не считайте один браузер достаточной проверкой.

Практика с position

Проверьте «position» в изолированном демо с длинным текстом, клавиатурным управлением и узким экраном. Отдельная проверка для «position»: определите содержащий блок для relative, absolute, fixed или sticky.

раскладка и позиционированиеposition

Сценарий: в форме, где часть полей становится недоступной.

Ошибки при работе с position

01

Устойчивость

Position без понимания содержащего блока даёт смещение относительно неожиданного предка — это предметный риск для «position».

02

Доступность

Копирование свойства без необходимого родительского контекста при использовании «position».

03

Каскад

Оптимизация кода до проверки корректности и доступности; для «position» проверьте это отдельно.

Поддержка position

Для «position» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «position»; окончательное решение принимайте по аудитории конкретного проекта.

Chromeс версии 1Edgeс версии 12Firefoxс версии 1Safariс версии 1

Спецификация: источник 1.

Вопросы о position

Как понять, что «position» выбрано правильно?

«position» выбрано правильно, когда оно решает задачу «управлять местом элемента в потоке, его контекстом или взаимным расположением блоков», сохраняет результат в форме, где часть полей становится недоступной и проходит предметную проверку: определите содержащий блок для relative, absolute, fixed или sticky.

Нужен ли запасной вариант для «position»?

Запасной вариант для «position» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «position» должно сохранять смысл, содержимое и основное действие.

Спецификации и источники

Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.