Driver.js использует CSS-переменные для управления стилями элементов подсветки и оверлеев, что делает его гибким и легко настраиваемым. Все основные стили, такие как цвета фона, рамок, шрифты и размеры подсказок, задаются через переменные, что позволяет переопределять их без изменения исходного CSS библиотеки.
Пример базовой структуры переменных:
:root {
--driver-background: rgba(0, 0, 0, 0.8);
--driver-border-radius: 4px;
--driver-highlight-color: #fff;
--driver-padding: 10px 15px;
--driver-font-family: 'Arial, sans-serif';
--driver-font-size: 14px;
}
Значения этих переменных можно переопределять как глобально для всей страницы, так и локально для отдельных компонентов.
Для глобального изменения стилей Driver.js достаточно определить
новые значения переменных в секции :root или в основном
CSS-файле:
:root {
--driver-background: rgba(50, 50, 50, 0.9);
--driver-border-radius: 8px;
--driver-highlight-color: #ffd700;
--driver-padding: 15px 20px;
--driver-font-family: 'Roboto, sans-serif';
--driver-font-size: 16px;
}
Особенности глобального переопределения:
@media (max-width: 768px) {
:root {
--driver-font-size: 12px;
--driver-padding: 8px 10px;
}
}
:root позволяет избежать
дублирования кода и повышает читаемость стилей.Driver.js поддерживает возможность задать индивидуальные стили для
конкретного шага через свойство stageBackground и
style при инициализации шага:
const driver = new Driver();
driver.defineSteps([
{
element: '#button1',
popover: {
title: 'Нажмите здесь',
description: 'Это кнопка запуска',
position: 'bottom'
},
stageBackground: 'rgba(255, 0, 0, 0.5)',
style: {
'--driver-border-radius': '12px',
'--driver-padding': '20px 25px'
}
}
]);
driver.start();
Особенности локального переопределения:
style позволяет задавать CSS-переменные для
конкретного шага без влияния на остальные шаги.stageBackground изменяет цвет оверлея только для
выделенной области шага.CSS-переменные могут изменяться динамически после инициализации Driver.js:
document.documentElement.style.setProperty('--driver-background', 'rgba(0, 128, 0, 0.7)');
document.documentElement.style.setProperty('--driver-font-size', '18px');
Также можно применять изменения к конкретному шагу при его открытии:
driver.highlight('#button2');
document.querySelector('.driver-popover').style.setProperty('--driver-padding', '30px 40px');
Преимущества динамического изменения:
Driver.js поддерживает полный набор переменных, которые можно использовать для точной настройки:
--driver-background — фон оверлея.--driver-border-radius — радиус скругления
подсвечиваемой области.--driver-highlight-color — цвет рамки и подсветки
элемента.--driver-padding — внутренние отступы поповера.--driver-font-family — шрифт текста.--driver-font-size — размер текста.--driver-z-index — слой для оверлея и поповера.Дополнительно можно использовать анимации и переходы через CSS:
.driver-highlighted {
transition: box-shadow 0.3s ease, border-color 0.3s ease;
}
Это позволяет создавать плавные визуальные эффекты при наведении и переключении шагов тура.
driver-overrides.css, где будут все переопределения
переменных.Грамотно настроенные CSS-переменные в Driver.js позволяют создавать профессионально выглядящие, адаптивные и легко поддерживаемые интерактивные туры для веб-приложений.