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. 1Откройте квиз в конструкторе.
  2. 2Нажмите вкладку Design на правой панели.
  3. 3Перейдите на суб-вкладку CSS (четвёртая, после Layout).
  4. 4Напишите или вставьте CSS в редактор.
  5. 5Изменения сохраняются автоматически — откройте квиз в новой вкладке для просмотра.
💡

Редактор поддерживает подсветку синтаксиса CSS, автозакрытие скобок и Tab для отступов.


CSS-переменные#

Задаются на корневом элементе квиза и каскадируют на все дочерние компоненты. Переопределяйте в :root или на [data-quiz="container"].

ПеременнаяПо умолчаниюЧто контролирует
--qz-primary#FF7A00Кнопки, подсветка выбора, прогресс-бар, ссылки
--qz-bg#F4F5F7Фон страницы (за пределами карточки)
--qz-card-bg#FFFFFFФон карточки / области контента
--qz-text#111827Цвет основного текста
--qz-fontInter, sans-serifСемейство шрифтов для всего квиза
--qz-btn-radius14pxСкругление кнопок (0 = квадрат, 9999px = таблетка)
--qz-q-size18pxРазмер шрифта заголовков вопросов
--qz-shadow0 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 элемент календаря

Примеры кода#

Изменить цвет бренда

css
:root {
  --qz-primary: #7B61FF;
}

Тёмный режим

css
:root {
  --qz-bg: #1A1A2E;
  --qz-card-bg: #16213E;
  --qz-text: #F9FAFB;
  --qz-shadow: 0 24px 60px rgba(0,0,0,0.40);
}

Кнопки-«таблетки»

css
:root {
  --qz-btn-radius: 9999px;
}

Градиентная кнопка «Далее»

css
[data-quiz-btn="next"] {
  background: linear-gradient(135deg, #FF7A00, #FF4500) !important;
  letter-spacing: 0.04em;
}

Кастомная карточка

css
[data-quiz="card"] {
  border-radius: 24px;
  border: 2px solid var(--qz-primary);
  padding: 40px;
}

Подключить Google Font

css
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap');

:root {
  --qz-font: Montserrat, sans-serif;
}

Увеличить размер вопроса

css
:root {
  --qz-q-size: 26px;
}

Стилизовать поля ввода

css
[data-quiz="text-input"] {
  border-radius: 8px;
  border: 2px solid var(--qz-primary);
  font-size: 16px;
}

Стилизовать заголовки и результат

css
[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 вкладка видна, но заблокирована.