iziToast предоставляет мощный и гибкий инструмент для отображения уведомлений в веб-приложениях. Одним из ключевых аспектов кастомизации внешнего вида уведомлений является использование CSS-переменных, что позволяет легко менять стиль toast-уведомлений без необходимости переписывать JavaScript-код или подключать отдельные CSS-файлы.
CSS-переменные (custom properties) задаются с использованием
синтаксиса --имя-переменной. Для iziToast можно определить
переменные как глобально в :root, так и локально для
отдельных элементов или блоков:
:root {
--iziToast-color: #ffffff;
--iziToast-background: #2196f3;
--iziToast-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
--iziToast-border-radius: 8px;
--iziToast-font-size: 16px;
}
Эти переменные затем автоматически применяются ко всем toast-уведомлениям, если их использование настроено в CSS библиотеки.
Цвет текста и фон уведомлений – одни из самых часто изменяемых параметров. Для iziToast они настраиваются через переменные:
.iziToast {
color: var(--iziToast-color);
background-color: var(--iziToast-background);
}
Можно определить отдельные переменные для разных типов уведомлений:
:root {
--iziToast-success-background: #4caf50;
--iziToast-error-background: #f44336;
--iziToast-warning-background: #ff9800;
--iziToast-info-background: #2196f3;
}
И подключить их через селекторы:
.iziToast-success {
background-color: var(--iziToast-success-background);
}
.iziToast-error {
background-color: var(--iziToast-error-background);
}
.iziToast-warning {
background-color: var(--iziToast-warning-background);
}
.iziToast-info {
background-color: var(--iziToast-info-background);
}
Использование CSS-переменных упрощает контроль над внутренними и внешними отступами, размерами кнопок и контейнера уведомления:
:root {
--iziToast-padding: 16px;
--iziToast-margin: 12px;
--iziToast-width: 320px;
--iziToast-icon-size: 24px;
}
.iziToast {
padding: var(--iziToast-padding);
margin: var(--iziToast-margin);
width: var(--iziToast-width);
}
.iziToast-icon {
width: var(--iziToast-icon-size);
height: var(--iziToast-icon-size);
}
Эти переменные позволяют поддерживать единый стиль и легко адаптировать toast под различные макеты страниц.
iziToast позволяет изменять размер шрифта, межстрочный интервал, начертание и тип шрифта с помощью переменных:
:root {
--iziToast-font-family: 'Roboto', sans-serif;
--iziToast-font-size: 14px;
--iziToast-line-height: 1.4;
--iziToast-font-weight: 500;
}
.iziToast {
font-family: var(--iziToast-font-family);
font-size: var(--iziToast-font-size);
line-height: var(--iziToast-line-height);
font-weight: var(--iziToast-font-weight);
}
Эффекты тени и скругление углов задаются через отдельные переменные, что позволяет поддерживать визуальный стиль сайта:
:root {
--iziToast-border-radius: 10px;
--iziToast-box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}
.iziToast {
border-radius: var(--iziToast-border-radius);
box-shadow: var(--iziToast-box-shadow);
}
CSS-переменные позволяют динамически переключать тему
toast-уведомлений без перезагрузки страницы. Например, можно определить
темы light и dark:
:root {
--iziToast-color: #000;
--iziToast-background: #fff;
}
[data-theme="dark"] {
--iziToast-color: #fff;
--iziToast-background: #333;
}
В JavaScript достаточно изменить атрибут data-theme на
body:
document.body.setAttribute('data-theme', 'dark');
iziToast.show({
title: 'Тёмная тема',
message: 'Уведомление адаптировано под тему'
});
Рекомендуется хранить переменные в отдельном файле
variables.css:
/* variables.css */
:root {
--iziToast-color: #fff;
--iziToast-background: #2196f3;
--iziToast-padding: 16px;
--iziToast-border-radius: 8px;
--iziToast-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
И подключать его до основного CSS iziToast:
<link rel="stylesheet" href="variables.css">
<link rel="stylesheet" href="iziToast.min.css">
Так обеспечивается централизованное управление стилем уведомлений без дублирования кода.
Использование CSS-переменных делает настройку iziToast максимально удобной и поддерживаемой в больших проектах, сохраняя при этом высокую кастомизируемость интерфейса.