Библиотека Driver.js предоставляет гибкий механизм кастомизации стилей подсказок и попапов, что позволяет создавать интерактивные руководства и обучающие туры с уникальным визуальным оформлением. Все стили разделяются на две основные категории: глобальные и локальные, применяемые к конкретным шагам.
Driver конфигурациюОсновные свойства для стилизации попапа задаются при создании
экземпляра Driver:
const driver = new Driver({
opacity: 0.7,
padding: 15,
allowClose: true,
overlayClickNext: false,
doneBtnText: 'Готово',
closeBtnText: 'Закрыть',
nextBtnText: 'Далее',
prevBtnText: 'Назад',
animate: true,
stageBackground: '#ffffff',
popoverClass: 'custom-popover'
});
true клик по
затемнённому фону переводит к следующему шагу.Каждый шаг может иметь индивидуальные стили:
driver.defineSteps([
{
element: '#profile-picture',
popover: {
title: 'Ваш профиль',
description: 'Здесь можно изменить аватар и личные данные',
position: 'bottom',
className: 'highlight-popover'
}
},
{
element: '#settings-button',
popover: {
title: 'Настройки',
description: 'Настройте интерфейс и уведомления',
position: 'left',
className: 'settings-popover'
}
}
]);
'top', 'bottom',
'left', 'right'.Локальные классы позволяют точно управлять стилями текста, фона и кнопок для каждого шага без изменения глобальных настроек.
Driver.js автоматически формирует стрелки popover, но их стили можно менять через CSS:
.custom-popover .driver-arrow {
border-color: #ff5733; /* цвет стрелки */
width: 20px;
height: 20px;
}
.highlight-popover .driver-popover {
background-color: #f0f8ff;
border-radius: 8px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
Кнопки управления шагами (Next, Prev,
Done, Close) также доступны для кастомизации
через CSS:
.custom-popover .driver-close-btn {
background: transparent;
color: #333;
font-weight: bold;
border: none;
}
.custom-popover .driver-next-btn {
background-color: #007bff;
color: #fff;
padding: 6px 12px;
border-radius: 4px;
}
Driver.js автоматически подбирает положение popover для видимости на
экране, но с помощью CSS и параметров padding и
position можно контролировать расположение:
'auto' – библиотека сама
выбирает оптимальное положение.@media (max-width: 768px) {
.custom-popover .driver-popover {
width: 90%;
font-size: 14px;
}
}
Даже при включенной опции animate: true, можно задавать
собственные анимации:
.custom-popover {
animation: fadeInScale 0.3s ease-in-out;
}
@keyframes fadeInScale {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
С помощью этих инструментов Driver.js позволяет создавать не только функциональные, но и визуально привлекательные руководства для пользователей.