Toastify — лёгкая и простая библиотека для отображения уведомлений в браузере, но при использовании на мобильных устройствах требуется учитывать особенности ограниченной ширины экрана и сенсорного взаимодействия. Настройка уведомлений под мобильные экраны позволяет улучшить читаемость сообщений и избежать перекрытия элементов интерфейса.
Основной способ адаптации Toastify для мобильных устройств — изменение ширины и позиционирования тоста. По умолчанию уведомления имеют фиксированную ширину, что может вызывать горизонтальную прокрутку на узких экранах.
Toastify({
text: "Сообщение адаптировано под мобильный экран",
duration: 3000,
gravity: "top", // верхняя позиция
position: "center", // по центру для мобильных
style: {
minWidth: "80%", // занимает 80% ширины экрана
maxWidth: "95%", // предотвращает выход за пределы
fontSize: "14px",
padding: "10px"
}
}).showToast();
Ключевые моменты:
minWidth и maxWidth помогают уведомлению
адаптироваться под разные размеры экрана.position: "center" удобен для мобильных, так как
уведомление не перекрывает боковые элементы.fontSize и padding делают текст читаемым
на маленьких экранах.На мобильных устройствах уведомления должны быть легко закрываемыми жестами или тапом, так как мышь отсутствует. Toastify поддерживает закрытие по клику:
Toastify({
text: "Нажмите, чтобы закрыть",
duration: 5000,
close: true, // добавляет крестик
onClick: function() {
this.hideToast();
},
style: {
borderRadius: "8px"
}
}).showToast();
Особенности для мобильного UX:
borderRadius создаёт мягкие углы, что визуально более
удобно для сенсорного экрана.close: true добавляет кнопку закрытия, упрощая
взаимодействие пальцем.onClick позволяет настраивать дополнительные действия
при тапе.Для мобильных экранов важно правильно выбирать gravity и
position:
top) — удобна для
кратких уведомлений, не перекрывает основное содержимое.bottom) — подходит для
длительных уведомлений или подтверждений действий.position: "center") —
используется для критических сообщений, требующих внимания
пользователя.const isMobile = window.innerWidth <= 768;
Toastify({
text: "Уведомление для мобильного",
gravity: isMobile ? "bottom" : "top",
position: isMobile ? "center" : "right",
duration: 4000
}).showToast();
Динамическая проверка ширины экрана позволяет адаптировать уведомления под любое устройство без ручной правки стилей.
На мобильных устройствах важна плавность анимаций для снижения нагрузки на процессор и улучшения визуального восприятия. Toastify позволяет задавать CSS-анимации через класс:
.toast-enter {
transform: translateY(-20px);
opacity: 0;
transition: all 0.3s ease;
}
.toast-enter-active {
transform: translateY(0);
opacity: 1;
}
.toast-exit {
transform: translateY(0);
opacity: 1;
}
.toast-exit-active {
transform: translateY(-20px);
opacity: 0;
transition: all 0.3s ease;
}
Toastify({
text: "Анимированное уведомление",
className: "toast-enter",
duration: 3000
}).showToast();
Рекомендации для мобильных:
translateY или
translateX) и короткую продолжительность анимации.Чтобы уведомления корректно отображались на любых устройствах, их стили можно интегрировать с медиа-запросами CSS:
@media (max-width: 768px) {
.toastify {
font-size: 14px !important;
min-width: 80% !important;
padding: 12px !important;
}
}
@media (min-width: 769px) {
.toastify {
font-size: 16px !important;
min-width: 300px !important;
padding: 15px !important;
}
}
Использование медиа-запросов позволяет тонко настраивать внешний вид уведомлений без дублирования кода JavaScript.
На мобильных устройствах длительность показа уведомления должна быть
короче, чтобы не мешать пользователю. Toastify
предоставляет параметр duration:
Toastify({
text: "Краткое уведомление для мобильного",
duration: isMobile ? 2500 : 4000,
style: {
background: "#333",
color: "#fff"
}
}).showToast();
Адаптация duration под размер экрана и контекст
использования повышает удобство взаимодействия.
Правильная конфигурация Toastify для мобильных экранов включает:
Такой подход обеспечивает читаемые, ненавязчивые и функциональные уведомления на любых мобильных устройствах.