Библиотека Toastify позволяет создавать всплывающие уведомления на веб-страницах с гибкой настройкой внешнего вида через CSS. Основной механизм изменения стилей уведомлений — использование классов CSS. Правильное управление классами позволяет полностью контролировать визуальную презентацию уведомлений, а также их поведение при взаимодействии с пользователем.
При создании уведомления через Toastify можно задать
массив классов через опцию className:
Toastify({
text: "Сообщение успешно отправлено",
duration: 3000,
className: "custom-toast success-toast"
}).showToast();
custom-toast — общий класс для всех уведомлений,
который может содержать базовые стили (например, отступы, шрифт,
тень).success-toast — класс для конкретного типа уведомления,
например, для успешных операций.Использование нескольких классов позволяет комбинировать общие стили и специфические для каждого типа уведомления.
Классы можно изменять после создания уведомления с помощью стандартных методов DOM. Например:
const toastElement = Toastify({
text: "Обновление прошло успешно",
duration: 5000,
className: "info-toast"
}).showToast();
// Через секунду изменить класс
setTimeout(() => {
toastElement.toastElement.classList.remove("info-toast");
toastElement.toastElement.classList.add("highlight-toast");
}, 1000);
toastElement.toastElement возвращает ссылку на
HTML-элемент уведомления.classList.add, classList.remove,
classList.toggle позволяют гибко управлять визуальными
эффектами.Классы играют ключевую роль при использовании анимаций:
.slide-in {
transform: translateX(100%);
animation: slideIn 0.5s forwards;
}
@keyframes slideIn {
to {
transform: translateX(0);
}
}
Toastify({
text: "Новый элемент добавлен",
duration: 4000,
className: "slide-in"
}).showToast();
Toastify поставляется с базовыми стилями, доступными через встроенные классы:
toastify — основной класс для всех уведомлений,
содержит базовые свойства позиции, шрифта и фоновой заливки.toastify-show — добавляется автоматически при
отображении уведомления, может быть использован для анимаций
появления.toastify-hide — класс для скрытия уведомления,
совместим с CSS-анимациями исчезновения.Эти классы можно переопределять через CSS или дополнять пользовательскими классами для полного контроля.
Для удобного управления стилями рекомендуется:
.custom-toast) и отдельно определять классы для типов
(.success-toast, .error-toast)..slide-in, .fade-out) не должны
содержать стили цвета и размеров..custom-toast {
font-family: Arial, sans-serif;
padding: 12px 20px;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.success-toast {
background-color: #4caf50;
color: white;
}
.error-toast {
background-color: #f44336;
color: white;
}
.slide-in {
transform: translateX(100%);
animation: slideIn 0.4s forwards;
}
@keyframes slideIn {
to { transform: translateX(0); }
}
Toastify({
text: "Ошибка при сохранении данных",
duration: 4000,
className: "custom-toast error-toast slide-in"
}).showToast();
В этом примере уведомление объединяет общий стиль, типовое оформление ошибки и анимацию появления. Такой подход делает систему уведомлений гибкой, визуально последовательной и легко расширяемой.
Хотите, я могу подготовить продолжение статьи, подробно описав условное добавление классов в зависимости от данных и событий? Это будет логическое продолжение раздела про работу с CSS-классами.