Библиотека Toastify позволяет создавать настраиваемые уведомления в веб-приложениях с минимальными усилиями. Одним из ключевых аспектов является позиционирование уведомлений на экране. Toastify использует свойства CSS для управления расположением тостов, что обеспечивает гибкость при интеграции с любым интерфейсом.
Параметр position определяет
вертикальное и горизонтальное положение уведомления. Возможные
значения:
top-lefttop-centertop-rightbottom-leftbottom-centerbottom-rightПример базового вызова:
Toastify({
text: "Сообщение успешно отправлено",
duration: 3000,
position: "top-right"
}).showToast();
Для точной настройки можно использовать свойства
gravity и
offset.
gravity отвечает за вертикальное
расположение: "top" или "bottom".offset позволяет задать смещение в
пикселях или процентах, например:Toastify({
text: "Системное уведомление",
duration: 4000,
gravity: "top",
offset: { x: 50, y: 20 }
}).showToast();
В этом примере уведомление смещается на 50 пикселей от левого края и на 20 пикселей от верхнего края.
При множественных уведомлениях важно избегать их наложения. Toastify
автоматически выстраивает тосты в столбик в зависимости
от выбранного края экрана. Для оптимизации визуального восприятия можно
использовать newWindow и
close, чтобы старые уведомления не мешали
новым:
Toastify({
text: "Загрузка завершена",
duration: 5000,
close: true,
gravity: "bottom",
position: "right"
}).showToast();
Toastify позволяет менять положение уведомлений во время работы приложения. Это особенно полезно при адаптивном дизайне, когда размеры экрана меняются:
const toast = Toastify({
text: "Новый уровень доступа",
duration: 3000,
gravity: "top",
position: "center"
});
toast.showToast();
// Динамически изменить позицию через секунду
setTimeout(() => {
toast.options.position = "right";
toast.showToast();
}, 1000);
На мобильных устройствах важно учитывать ограниченное пространство. Используются следующие подходы:
top-center или bottom-center), чтобы
уведомления не прилипали к краям..toastify {
max-width: 90%;
padding: 10px 15px;
}
duration и
close.Положение уведомления можно улучшить за счёт плавного появления и исчезновения. Toastify использует CSS transition, что позволяет задавать длительность анимации:
Toastify({
text: "Данные сохранены",
duration: 3000,
gravity: "bottom",
position: "left",
stopOnFocus: true,
style: {
transform: "translateY(20px)",
transition: "transform 0.3s ease-in-out"
}
}).showToast();
В крупных интерфейсах удобно разделять уведомления по зонам экрана. Например, ошибки отображать в top-right, успехи — в bottom-left. Это повышает читаемость и упрощает визуальный контроль:
const showError = (msg) => Toastify({
text: msg,
gravity: "top",
position: "right",
backgroundColor: "linear-gradient(to right, #FF5F6D, #FFC371)",
}).showToast();
const showSuccess = (msg) => Toastify({
text: msg,
gravity: "bottom",
position: "left",
backgroundColor: "linear-gradient(to right, #56ab2f, #a8e063)",
}).showToast();
Эти методы позволяют эффективно распределять уведомления по экрану и поддерживать визуальную иерархию.
gravity +
offset вместо жёстких значений
top/left, чтобы уведомления корректно
реагировали на размеры экрана.Эти подходы обеспечивают удобное, аккуратное и предсказуемое отображение уведомлений вне зависимости от количества сообщений и размеров экрана.