Noty предоставляет гибкие возможности для визуального оформления уведомлений, включая изменение цветов фона, текста и кнопок. Цветовая настройка позволяет сделать уведомления более заметными и соответствующими стилю интерфейса.
В Noty основными элементами, которые можно стилизовать через цвета, являются:
noty_type.noty_buttons.Стандартная структура уведомления позволяет добавлять собственные
CSS-классы через параметр theme или className
при создании экземпляра Noty:
new Noty({
text: 'Пример уведомления с кастомным цветом',
type: 'alert',
theme: 'sunset', // стандартная тема
layout: 'topRight',
timeout: 3000,
className: 'custom-noty'
}).show();
Чтобы изменить цвет уведомления, создаётся CSS-класс с нужными параметрами. Например:
.custom-noty {
background-color: #1e1e2f; /* темный фон */
color: #ffffff; /* светлый текст */
border: 2px solid #ff6f61; /* рамка для акцента */
}
.custom-noty .noty_bar {
background-color: #1e1e2f;
}
.custom-noty .noty_text {
color: #ffffff;
}
После подключения такого CSS все уведомления с
className: 'custom-noty' будут использовать заданную
цветовую схему.
Noty поддерживает стандартные типы уведомлений, которые уже имеют свои цветовые схемы:
alert – нейтральное уведомлениеsuccess – зелёный оттенок для успешных действийerror – красный для ошибокwarning – оранжевый для предупрежденийinformation – синий для информационных сообщенийКаждый тип соответствует классу .noty_type_alert,
.noty_type_success и так далее. Эти классы можно
переопределять в CSS:
.noty_type_success {
background-color: #28a745;
color: #ffffff;
}
.noty_type_error {
background-color: #dc3545;
color: #ffffff;
}
Можно изменять цвета уведомления прямо при создании, без создания
CSS-классов, через объект callbacks и метод
setTimeout:
let n = new Noty({
text: 'Динамическое изменение цвета',
type: 'alert',
layout: 'topRight',
timeout: 5000,
callbacks: {
onShow: function() {
this.barDom.style.backgroundColor = '#6f42c1';
this.barDom.style.color = '#ffffff';
}
}
}).show();
В этом примере barDom — это основной DOM-элемент
уведомления, к которому можно применять любые CSS-свойства напрямую.
Noty позволяет использовать встроенные темы (mint,
sunset, relax, metroui) и
одновременно накладывать собственные цвета. Порядок применения стилей
важен: сначала подключается тема, затем переопределяются цвета через CSS
или динамически через JS.
new Noty({
text: 'Комбинация темы и кастомного цвета',
type: 'information',
theme: 'relax',
layout: 'topCenter',
className: 'info-custom',
timeout: 4000
}).show();
.info-custom {
background-color: #0d6efd !important; /* перекрываем фон темы */
color: #ffffff !important;
}
Использование !important иногда необходимо для
перекрытия стандартных стилей темы.
Для уведомлений с кнопками (buttons) можно отдельно
задавать стиль кнопок:
new Noty({
text: 'Выберите действие',
layout: 'topRight',
theme: 'metroui',
buttons: [
Noty.button('Подтвердить', 'btn btn-success', function() {
console.log('Подтверждено');
}),
Noty.button('Отмена', 'btn btn-danger', function() {
console.log('Отменено');
})
]
}).show();
CSS для кнопок может включать градиенты, тени и изменения цвета при наведении:
.btn-success {
background-color: #28a745;
color: #ffffff;
border-radius: 4px;
padding: 5px 12px;
}
.btn-danger:hover {
background-color: #c82333;
}
Эти методы позволяют полностью контролировать визуальную составляющую уведомлений Noty, обеспечивая единый стиль интерфейса и улучшая восприятие пользователем.