Библиотека iziToast предоставляет гибкий механизм для кастомизации внешнего вида уведомлений через создание и подключение собственных тем. Темы позволяют не только менять цвета и шрифты, но и настраивать отступы, иконки, анимации и позиционирование элементов внутри уведомления.
Тема в iziToast — это объект с набором CSS-подобных свойств, который может быть зарегистрирован глобально. Минимальная структура темы выглядит так:
iziToast.settings({
theme: 'customTheme',
color: 'blue',
titleColor: '#fff',
messageColor: '#eee',
iconColor: '#fff',
backgroundColor: '#007bff',
close: true,
layout: 2,
balloon: false,
});
Ключевые параметры:
theme — уникальное имя темы. При использовании
уведомления указывается это имя.color — основной цвет уведомления, влияет на иконку и
границы.titleColor — цвет заголовка.messageColor — цвет текста сообщения.iconColor — цвет иконки.backgroundColor — фоновый цвет.close — отображение кнопки закрытия.layout — схема расположения элементов внутри
уведомления. Например, 1 — горизонтальное выравнивание,
2 — вертикальное.balloon — если true, уведомление имеет
закругленные края и визуально напоминает воздушный пузырь.Чтобы использовать собственную тему, её нужно зарегистрировать через
метод iziToast.settings перед созданием уведомлений.
Пример:
iziToast.settings({
theme: 'darkBlue',
color: 'darkblue',
backgroundColor: '#1a1a2e',
titleColor: '#e0e0e0',
messageColor: '#c0c0c0',
iconColor: '#00aaff',
close: true,
layout: 1,
});
После регистрации тема используется при создании уведомления:
iziToast.show({
theme: 'darkBlue',
title: 'Информация',
message: 'Уведомление с темой darkBlue'
});
color.iziToast.show({
theme: 'darkBlue',
title: 'Успех',
message: 'Файл загружен',
icon: 'fa fa-check-circle',
iconColor: '#00ff00'
});
Можно изменить стили кнопки закрытия через тему:
iziToast.settings({
theme: 'customClose',
close: true,
closeColor: '#ff0000',
closeIcon: 'fa fa-times'
});
closeColor задаёт цвет крестика, а
closeIcon позволяет заменить стандартный символ на
иконку.
padding — внутренние отступы уведомления.radius — скругление углов.width — фиксированная ширина уведомления, если
необходимо.iziToast.settings({
theme: 'spacious',
padding: 20,
radius: 8,
width: 350
});
iziToast поддерживает несколько зарегистрированных тем одновременно. Это удобно для разных типов уведомлений:
iziToast.settings({
theme: 'successTheme',
backgroundColor: '#28a745',
titleColor: '#fff'
});
iziToast.settings({
theme: 'errorTheme',
backgroundColor: '#dc3545',
titleColor: '#fff'
});
iziToast.show({
theme: 'successTheme',
title: 'Успех',
message: 'Операция выполнена успешно'
});
iziToast.show({
theme: 'errorTheme',
title: 'Ошибка',
message: 'Произошла ошибка'
});
Можно глобально изменить стандартную тему default:
iziToast.settings({
theme: 'default',
backgroundColor: '#333',
titleColor: '#fff',
messageColor: '#ccc',
iconColor: '#ffcc00'
});
Все уведомления, которые не указывают явную тему, будут использовать эти настройки.
iziToast позволяет динамически изменять тему прямо при вызове уведомления:
iziToast.show({
theme: 'light',
title: 'Напоминание',
message: 'Проверьте настройки',
color: 'orange',
backgroundColor: '#fff'
});
Таким образом, одна и та же тема может быть изменена для конкретного уведомления без регистрации новой глобальной темы.
transitionIn
и transitionOut можно менять анимацию появления и скрытия
уведомления для каждой темы.iziToast.settings({
theme: 'balloonInfo',
balloon: true,
layout: 2,
backgroundColor: '#00aaff',
titleColor: '#fff',
messageColor: '#f0f0f0'
});
layout и balloon для
управления визуальной структурой.