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