CSS Editor
Полностью настройте внешний вид квиза через собственный CSS — меняйте цвета, шрифты, отступы, размеры и анимации без !important.
Обновлено: Апрель 2026
Comfort+ Доступен на тарифах Comfort и Premium.
Что такое CSS Editor?#
CSS Editor позволяет писать произвольный CSS, который инжектируется прямо на публичную страницу квиза. Меняйте цвета, шрифты, отступы, скругления, анимации — всё, что возможно в CSS.
В отличие от других конструкторов, требующих !important на каждом правиле, Qwizoo построен на CSS custom properties (переменных). Измените --qz-primary один раз — обновятся все кнопки, подсветка выбора и прогресс-бар.
CSS-переменные
Меняйте цвета, скругления, шрифты и тени глобально одной строкой — без !important.
Стабильные селекторы
Таргетируйте элементы через data-quiz-* — они никогда не меняются в отличие от классов Tailwind.
Готовые сниппеты
Тёмный режим, градиентные кнопки, Google Fonts — вставляются одним кликом.
Справочник переменных
Встроенная панель с текущими значениями и кнопкой копирования.
Как открыть CSS Editor#
- 1Откройте квиз в конструкторе.
- 2Нажмите вкладку Design на правой панели.
- 3Перейдите на суб-вкладку CSS (четвёртая, после Layout).
- 4Напишите или вставьте CSS в редактор.
- 5Изменения сохраняются автоматически — откройте квиз в новой вкладке для просмотра.
Редактор поддерживает подсветку синтаксиса CSS, автозакрытие скобок и Tab для отступов.
CSS-переменные#
Задаются на корневом элементе квиза и каскадируют на все дочерние компоненты. Переопределяйте в :root или на [data-quiz="container"].
| Переменная | По умолчанию | Что контролирует |
|---|---|---|
| --qz-primary | #FF7A00 | Кнопки, подсветка выбора, прогресс-бар, ссылки |
| --qz-bg | #F4F5F7 | Фон страницы (за пределами карточки) |
| --qz-card-bg | #FFFFFF | Фон карточки / области контента |
| --qz-text | #111827 | Цвет основного текста |
| --qz-font | Inter, sans-serif | Семейство шрифтов для всего квиза |
| --qz-btn-radius | 14px | Скругление кнопок (0 = квадрат, 9999px = таблетка) |
| --qz-q-size | 18px | Размер шрифта заголовков вопросов |
| --qz-shadow | 0 24px 60px … | Тень карточки |
Скопируйте любую переменную из панели CSS-переменные в редакторе — копируется как var(--qz-primary).
Таргетирование — data-quiz-* селекторы#
Каждый ключевой элемент имеет стабильный атрибут data-quiz или data-quiz-btn. Атрибутные селекторы имеют выше специфичность чем классовые — переопределяют Tailwind без !important.
Макет и навигация
| Селектор | Элемент |
|---|---|
| [data-quiz="container"] | Внешняя обёртка — корень всех CSS-переменных |
| [data-quiz="page"] | Область страницы — центрирование и отступы |
| [data-quiz="wrapper"] | Обёртка с max-width (max-w-lg / 1000px split) |
| [data-quiz="card"] | Белая карточка контента |
| [data-quiz="columns"] | CSS Grid split-макета |
| [data-quiz="cover-image"] | Панель обложки (только split) |
| [data-quiz="cover-video"] | Iframe видео обложки (split) |
| [data-quiz="cover-image-img"] | Изображение обложки (split) |
| [data-quiz="hero-image"] | Мобильный hero-баннер (split) |
| [data-quiz="bottom-nav"] | Нижняя навигационная панель (split) |
| [data-quiz="logo"] | Логотип квиза |
| [data-quiz="branding-link"] | Ссылка брендинга Qwizoo |
| [data-quiz="step-header"] | Строка с кнопкой назад и счётчиком шагов |
| [data-quiz="step-counter"] | Счётчик шагов (например, 2 / 6) |
| [data-quiz="step-content"] | Внутренняя обёртка с отступами |
| [data-quiz="step"] | Корневой элемент шага (все типы) |
| [data-quiz-btn="next"] | Все кнопки Продолжить / Далее / Отправить |
| [data-quiz-btn="back"] | Все кнопки Назад |
Прогресс-бар
| Селектор | Элемент |
|---|---|
| [data-quiz="progress"] | Обёртка прогресс-бара |
| [data-quiz="progress-fill"] | Полоса заполнения (стиль bar) |
| [data-quiz="progress-dot"] | Отдельная точка (стиль dots) |
| [data-quiz="progress-step"] | Кружок шага (стиль steps) |
| [data-quiz="progress-line"] | Соединительная линия между шагами |
Шаг Приветствия
| Селектор | Элемент |
|---|---|
| [data-quiz="welcome-media"] | Обёртка изображения / видео |
| [data-quiz="welcome-video"] | Iframe видео |
| [data-quiz="welcome-image"] | Элемент изображения |
| [data-quiz="welcome-content"] | Текстовая зона шага |
| [data-quiz="title"] | Заголовок — Приветствие, Лид-форма, Спасибо |
| [data-quiz="description"] | Абзац описания — все типы шагов |
Вопрос и варианты ответа
| Селектор | Элемент |
|---|---|
| [data-quiz="question"] | Заголовок вопроса (h2) |
| [data-quiz="question-media"] | Обёртка изображения / видео вопроса |
| [data-quiz="question-video"] | Iframe видео вопроса |
| [data-quiz="question-image"] | Картинка вопроса |
| [data-quiz="choices"] | Обёртка списка вариантов |
| [data-quiz="choice"] | Кнопка варианта — вся строка |
| [data-quiz-choice="indicator"] | Индикатор (radio/checkbox) внутри варианта |
| [data-quiz-choice="label"] | Текст лейбла внутри варианта |
| [data-quiz-choice="explanation"] | Текст пояснения под лейблом |
| [data-quiz="picture-grid"] | Сетка picture choice (2 столбца) |
| [data-quiz-choice="image"] | Картинка внутри picture choice |
| [data-quiz-choice="placeholder"] | Плейсхолдер без картинки |
| [data-quiz-choice="badge"] | Галочка-бейдж на выбранном picture choice |
| [data-quiz="text-input"] | Текстовые, email, числовые, дата, адрес |
| [data-quiz="slider"] | Корневая обёртка слайдера |
| [data-quiz-slider="labels"] | Строка мин / текущее / макс |
| [data-quiz-slider="min"] | Метка минимального значения |
| [data-quiz-slider="current"] | Метка текущего значения (крупная, цветная) |
| [data-quiz-slider="max"] | Метка максимального значения |
| [data-quiz-slider="track"] | Трек range <input> |
| [data-quiz="rating"] | Обёртка рейтинга (звёзды, числа, эмодзи) |
| [data-quiz="rating-button"] | Отдельная кнопка звезды / числа |
| [data-quiz="tags"] | Корневая обёртка тегов |
| [data-quiz="tags-count"] | Счётчик выбранных тегов |
| [data-quiz="tags-list"] | Строка кнопок-тегов |
| [data-quiz="tag"] | Отдельная кнопка тега |
Лид форма
| Селектор | Элемент |
|---|---|
| [data-quiz="lead-form"] | Элемент <form> лид-формы |
| [data-quiz="form-progress"] | Точки прогресса многошаговой формы |
| [data-quiz="lead-field"] | Обёртка поля (лейбл + инпут) |
| [data-quiz="lead-label"] | Лейбл над полем |
| [data-quiz="lead-input"] | Поле ввода текста |
| [data-quiz="field-error"] | Сообщение об ошибке валидации |
| [data-quiz="otp-block"] | Блок SMS OTP верификации |
| [data-quiz-btn="otp-send"] | Кнопка отправки кода OTP |
| [data-quiz-btn="otp-resend"] | Кнопка повторной отправки OTP |
| [data-quiz-btn="otp-verify"] | Кнопка подтвердить OTP |
| [data-quiz="captcha-container"] | Виджет Turnstile captcha |
| [data-quiz="captcha-alert"] | Баннер об истечении captcha |
| [data-quiz="submit-error"] | Баннер ошибки при отправке |
| [data-quiz="privacy-notice"] | Текст согласия с политикой |
| [data-quiz="privacy-link"] | Ссылка на политику конфиденциальности |
Шаг Результата
| Селектор | Элемент |
|---|---|
| [data-quiz="result-body"] | Корневая обёртка контента результата |
| [data-quiz="result-media"] | Обёртка изображения / видео |
| [data-quiz="result-video"] | Iframe видео результата |
| [data-quiz="result-image"] | Изображение результата |
| [data-quiz="result-icon"] | Эмодзи иконка результата (🎉) |
| [data-quiz="result-title"] | Заголовок результата |
| [data-quiz="result-description"] | Абзац описания результата |
| [data-quiz="score-badge"] | Бейдж с общим счётом |
| [data-quiz="ai-result"] | Блок AI-анализа результата |
| [data-quiz="ai-result-text"] | Текстовый контент AI-анализа |
| [data-quiz-btn="ai-retry"] | Кнопка повторного запроса AI |
| [data-quiz="formula-results"] | Обёртка результатов формулы |
| [data-quiz="formula-result"] | Карточка отдельного результата формулы |
| [data-quiz="formula-label"] | Лейбл результата формулы (над числом) |
| [data-quiz="result-value"] | Значение формулы (большое цветное число) |
| [data-quiz="formula-breakdown"] | Таблица разбивки входных данных |
| [data-quiz="conditional-message"] | Блок условного сообщения |
| [data-quiz="conditional-cta"] | Ссылка CTA внутри условного сообщения |
| [data-quiz="benchmark"] | Обёртка сравнения с бенчмарком |
| [data-quiz="benchmark-fill"] | Заливка полосы бенчмарка |
| [data-quiz="formula-narrative"] | AI-нарратив внутри результата формулы |
| [data-quiz="result-actions"] | Обёртка кнопок результата |
| [data-quiz-btn="pdf"] | Кнопка скачать PDF |
Калькулятор формул
| Селектор | Элемент |
|---|---|
| [data-quiz="formula-fields"] | Обёртка полей шага формулы |
| [data-quiz="formula-field"] | Отдельное поле (слайдер или число) |
| [data-quiz="formula-field-header"] | Строка лейбл + значение слайдера |
| [data-quiz="formula-field-label"] | Лейбл поля формулы |
| [data-quiz="formula-field-value"] | Текущее значение слайдера |
| [data-quiz="formula-slider"] | Слайдер формулы <input type=range> |
| [data-quiz="formula-extent"] | Метки мин/макс слайдера |
| [data-quiz="formula-prefix"] | Префикс валюты / единицы (€, $) |
| [data-quiz="formula-number-input"] | Числовой <input> |
| [data-quiz="formula-suffix"] | Суффикс единицы (%) |
| [data-quiz="range-field"] | Двухрычажный слайдер (root) |
| [data-quiz="range-labels"] | Строка лейбл + отображение диапазона |
| [data-quiz="range-label"] | Лейбл поля диапазона |
| [data-quiz="range-display"] | Отображение мин–макс диапазона |
| [data-quiz="range-track"] | Фоновая дорожка слайдера |
| [data-quiz="range-fill"] | Заполненный отрезок слайдера |
| [data-quiz="range-thumb-min"] | Нижний ползунок |
| [data-quiz="range-thumb-max"] | Верхний ползунок |
| [data-quiz="range-extent"] | Метки мин/макс границ диапазона |
Спасибо и Поделиться
| Селектор | Элемент |
|---|---|
| [data-quiz="step-divider"] | Декоративные точки-разделитель |
| [data-quiz="share-row"] | Секция «Поделиться» |
| [data-quiz="share-label"] | Заголовок секции «Поделиться» |
| [data-quiz="share-icons"] | Строка иконок соцсетей |
| [data-quiz-btn="share-native"] | Нативная кнопка «Поделиться» (мобильная) |
| [data-quiz-btn="share-platform"] | Кнопка отдельной соцсети (X, FB и др.) |
| [data-quiz-btn="share-copy"] | Кнопка «Скопировать ссылку» |
Видео и Календарь
| Селектор | Элемент |
|---|---|
| [data-quiz="video-embed"] | Обёртка iframe видео |
| [data-quiz="video-iframe"] | Iframe элемент видео |
| [data-quiz="video-media"] | Картинка видео-шага (запасной) |
| [data-quiz="video-image"] | Элемент картинки видео-шага |
| [data-quiz="video-content"] | Зона заголовка и описания видео |
| [data-quiz="video-placeholder"] | Плейсхолдер (URL не задан) |
| [data-quiz="calendar-embed"] | Обёртка iframe календаря |
| [data-quiz="calendar-iframe"] | Iframe элемент календаря |
Примеры кода#
Изменить цвет бренда
:root {
--qz-primary: #7B61FF;
}Тёмный режим
:root {
--qz-bg: #1A1A2E;
--qz-card-bg: #16213E;
--qz-text: #F9FAFB;
--qz-shadow: 0 24px 60px rgba(0,0,0,0.40);
}Кнопки-«таблетки»
:root {
--qz-btn-radius: 9999px;
}Градиентная кнопка «Далее»
[data-quiz-btn="next"] {
background: linear-gradient(135deg, #FF7A00, #FF4500) !important;
letter-spacing: 0.04em;
}Кастомная карточка
[data-quiz="card"] {
border-radius: 24px;
border: 2px solid var(--qz-primary);
padding: 40px;
}Подключить Google Font
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap');
:root {
--qz-font: Montserrat, sans-serif;
}Увеличить размер вопроса
:root {
--qz-q-size: 26px;
}Стилизовать поля ввода
[data-quiz="text-input"] {
border-radius: 8px;
border: 2px solid var(--qz-primary);
font-size: 16px;
}Стилизовать заголовки и результат
[data-quiz="title"] {
font-size: 2rem;
letter-spacing: -0.02em;
}
[data-quiz="result-value"] {
font-size: 3rem;
}Встроенные сниппеты#
Нажмите любой сниппет в правой панели — он добавится в редактор. Сниппеты дописываются к существующему CSS, не заменяют его.
- Тёмный режим — тёмный фон и карточка со светлым текстом
- Фиолетовый акцент — заменяет основной цвет на фиолетовый
- Без тени карточки — убирает тень
- Больший размер вопроса — шрифт вопроса до 26px
- Google Font — Montserrat — подключает и применяет Montserrat
- Градиентная кнопка — оранжево-красный градиент
- Кастомная карточка — скруглённая карточка с цветной рамкой
Советы и ограничения#
- Копируйте селекторы из панели — панель Селекторы элементов в редакторе содержит все 16 селекторов с кнопкой копирования в один клик.
- CSS-переменные имеют приоритет над inline-стилями — внутри используется
var(--qz-primary), поэтому изменение переменной обновляет всё. - Атрибутные селекторы перебивают Tailwind-классы —
[data-quiz="card"]имеет специфичность (0,1,0,0) против (0,0,1,0) — отступы и размеры переопределяются без проблем. - Цвет подсветки при выборе использует hex-alpha (
#FF7A0012) — для изменения нужен!important. - Лимит 50 000 символов — более чем достаточно.
@importдля Google Fonts работает — style-тег инжектируется в head страницы,@font-faceтоже поддерживается.
CSS Editor — функция тарифа Comfort+. На Standard вкладка видна, но заблокирована.
