Noty предоставляет гибкую систему кастомизации уведомлений, позволяя управлять их стилем, расположением, анимациями и поведением. Основные параметры внешнего вида задаются при создании уведомления через объект конфигурации.
new Noty({
text: 'Пример уведомления',
type: 'success',
layout: 'topRight',
theme: 'mint',
timeout: 3000,
progressBar: true,
}).show();
typetype определяет визуальное оформление уведомления в
зависимости от его семантики:
alert — стандартное предупреждение.success — успех, позитивное сообщение.error — ошибка или критическое событие.warning — предупреждение.info — информационное сообщение.Каждый тип автоматически получает цветовую схему, определяемую текущей темой.
themetheme задаёт глобальный стиль уведомления. В Noty
встроено несколько тем:
mint — минималистичный стиль с мягкими оттенками.relax — спокойные цвета и округлые углы.metroui — строгий и современный вид в стиле Metro.sunset — тёплая цветовая гамма.nest — стиль с тенями и плавными градиентами.Тема влияет на фон, цвет текста, кнопки закрытия и рамки уведомления.
Для создания уникального внешнего вида можно использовать кастомные темы
через CSS, подключая свои стили с классом
.noty_theme_custom.
layout)layout определяет место появления уведомления на
странице:
top — сверху, по центру.topLeft — верхний левый угол.topCenter — верхний центр.topRight — верхний правый угол.center — по центру экрана.bottom — снизу по центру.bottomLeft — нижний левый угол.bottomCenter — нижний центр.bottomRight — нижний правый угол.Комбинация theme и layout позволяет
создавать уведомления, гармонирующие с дизайном сайта.
Свойство text поддерживает HTML, что позволяет вставлять
ссылки, кнопки или иконки:
new Noty({
text: '<strong>Успешно!</strong> Данные сохранены. <a href="#">Посмотреть</a>',
type: 'success',
}).show();
Использование HTML важно для создания интерактивных уведомлений и улучшения визуальной читаемости.
animation)Noty поддерживает плавные анимации, задаваемые объектом
animation:
animation: {
open: 'animated bounceInRight',
close: 'animated bounceOutRight',
easing: 'swing',
speed: 500
}
open и close — классы анимаций для
появления и исчезновения уведомления.easing — функция сглаживания движения.speed — длительность анимации в миллисекундах.Использование анимаций улучшает восприятие уведомлений, делая их появление и скрытие более естественным.
progressBar)Параметр progressBar отображает индикатор времени жизни
уведомления. При значении true появляется полоска,
показывающая оставшееся время до исчезновения уведомления. Стиль
прогресс-бара можно менять через CSS темы:
.noty_type_success .noty_bar {
background-color: #4caf50;
}
Noty автоматически адаптируется под размеры экрана, однако можно задать собственные ширину и высоту через CSS:
.noty {
width: 350px;
max-width: 90%;
}
Это особенно полезно при работе с мобильными интерфейсами или когда необходимо ограничить размер уведомлений на крупных экранах.
Кнопки добавляются через массив buttons, каждая из
которых может иметь собственный стиль и поведение:
buttons: [
Noty.button('Да', 'btn btn-success', function() {
console.log('Подтверждено');
n.close();
}),
Noty.button('Отмена', 'btn btn-error', function() {
n.close();
})
]
Кнопки наследуют стиль темы, но классы можно кастомизировать, чтобы соответствовать дизайну интерфейса.
Для более точного контроля можно использовать CSS переменные темы Noty, например:
:root {
--noty-color-success: #2ecc71;
--noty-color-error: #e74c3c;
--noty-font-size: 16px;
}
Переменные позволяют изменять цвета, шрифты и отступы глобально, не переписывая отдельные классы.
Эффективная настройка внешнего вида уведомлений достигается комбинированием:
type + theme — для базового визуального
стиля.layout — для позиционирования на странице.animation — для динамики появления/исчезновения.progressBar и buttons — для
интерактивности и информативности.Такое сочетание позволяет создавать уведомления любого дизайна, адаптированные под конкретные задачи веб-приложения.