Popper.js — это библиотека для управления позиционированием элементов в веб-приложениях. Центральными понятиями в ней являются reference, popper и placement. Понимание этих терминов критически важно для правильного использования библиотеки.
Reference — это элемент, относительно которого происходит позиционирование. Он служит точкой отсчёта для расчёта положения всплывающего блока или подсказки. Reference может быть любым DOM-элементом: кнопкой, ссылкой, картинкой, контейнером.
Особенности reference:
overflow.Пример создания reference:
const reference = document.querySelector('#button');
Popper — это элемент, который позиционируется относительно reference. Он может быть всплывающим меню, тултипом, подсказкой или модальным элементом. Popper.js отвечает за автоматическое вычисление его позиции и предотвращение перекрытия с границами окна или других элементов.
Особенности popper:
Пример создания popper:
const popper = Popper.createPopper(reference, document.querySelector('#tooltip'), {
placement: 'top'
});
Placement определяет, где относительно reference будет располагаться popper. Это одно из ключевых свойств конфигурации Popper.js.
Возможные значения:
top,
bottom, left, right.top-start,
top-end, bottom-start,
bottom-end, left-start, left-end,
right-start, right-end.Принципы работы placement:
Пример использования placement:
const popper = Popper.createPopper(reference, document.querySelector('#tooltip'), {
placement: 'right-start',
});
Эти три термина формируют фундамент понимания Popper.js. Правильное использование reference и popper с грамотным выбором placement позволяет создавать динамичные, адаптивные интерфейсы, где элементы точно подстраиваются под контекст страницы.
Эти механизмы делают Popper.js мощным инструментом для создания интерактивных пользовательских интерфейсов, где положение элементов зависит от динамики страницы и взаимодействия пользователя.