Skip to main content
LanderLab позволяет оформлять квизы визуально, но если вам нужно больше контроля, можно использовать Custom CSS и стилизовать квиз сверх встроенных настроек. Это полезно, когда нужно тонко поднастроить внешний вид элементов квиза или применить стили, которых нет в редакторе.

Как это работает

LanderLab внедряет ваш CSS в воронку. Он автоматически ограничивается корневым контейнером .ll-quiz, поэтому стили затрагивают только квиз и никогда не влияют на остальную страницу.

Куда добавлять CSS

Панель Custom CSS в настройках редактора квиза LanderLab
В редакторе LanderLab откройте Settings > Custom CSS и вставьте свои правила. Каждый селектор, который вы напишете, уже находится внутри .ll-quiz — префикс добавлять не нужно.
Стилизовать сам корневой элемент .ll-quiz (например, background, font-family) нельзя: эти свойства управляются движком тем. Вместо этого используйте дочерние элементы.

Правила ограничения области действия

Весь ваш CSS работает внутри .ll-quiz. Переменные темы (например --colorPrimary) доступны только для чтения: их задаёт движок тем, и переопределить их нельзя. Чтобы изменить внешний вид, пишите обычные CSS-правила для селекторов из этого руководства. ✓ Так делать нужно
✗ Так нельзя — переменные только для чтения

Справочник селекторов

Используйте эти селекторы, чтобы обращаться к нужным элементам. Все они автоматически находятся внутри .ll-quiz.

Разметка и структура

.ll-quiz-step Все шаги (видимые и скрытые) .ll-quiz-step[data-active-step=“true”] Только текущий видимый шаг .ll-quiz-header Зафиксированная верхняя область (хедер) .ll-quiz-footer Зафиксированная нижняя область (футер) .ll-quiz-block Любой блок любого типа .ll-quiz-block—[type] Конкретный тип блока (например --text-field)

Поля ввода

.ll-quiz-block__input Все текстовые поля и select .ll-quiz-block__input-wrapper Обёртка (div) вокруг полей ввода .ll-quiz-block__label Метки полей .ll-quiz-block__decorator Иконки или текст перед полем и после него (prefix / suffix)

Кнопки

.ll-quiz-continue-button Кнопка Continue .ll-quiz-previous-button Кнопка Previous («назад») .ll-quiz-submit-button Кнопка Submit .ll-quiz-default-button Обычная кнопка действия .ll-quiz-button-text Надпись внутри любой кнопки .ll-quiz-button-description Дополнительная подпись внутри любой кнопки

Блоки выбора

.ll-choice-option Один вариант в multiple choice .ll-choice-option:has(input:checked) Выбранный вариант .ll-choice-option__text Текстовая метка внутри варианта .ll-img-choice-option Карточка варианта image choice .ll-img-choice-option:has(input:checked) Выбранная карточка image choice .ll-choice-label Метка группы вариантов в блоке выбора

Прогресс и обратная связь

.ll-quiz-progress__fill Заполненная часть индикатора .ll-quiz-header__progress-fill Заполнение индикатора прогресса в хедере .ll-quiz-block—has-error Блок, не прошедший валидацию .ll-quiz-block-error Текст сообщения об ошибке .ll-quiz-variable Динамические переменные в тексте (например, имя)

Поля ввода

У всех текстовых полей, select, textarea и похожих полей одинаковая структура классов. Селектор .ll-quiz-block__input стилизует все сразу, а чтобы настроить отдельные поля, уточните тип блока.

Стилизация всех полей ввода

CSS

Стилизация конкретного блока по ID

ID блока можно узнать из URL при редактировании блока в LanderLab (например, text-field-abc123).

Стилизация prefix / suffix

Метки

Кнопки

Кнопки в LanderLab рендерятся как элементы <a>, а не <button>. Используйте специальный селектор для каждого типа кнопок или стилизуйте все кнопки сразу через общий класс.

Кнопка Continue

Кнопка Previous

Кнопка Submit

Стилизация всех кнопок сразу

Подпись кнопки (description)

Блоки выбора

Варианты multiple choice и image choice можно стилизовать в состояниях по умолчанию, при наведении и при выборе.

Стилизация вариантов

Карточки image choice

Скрыть иконку radio / checkbox

Индикаторы прогресса

Есть два расположения индикатора прогресса: внутри шагов и в хедере. Стилизовать их можно независимо или вместе.

Индикатор внутри шагов

Индикатор в хедере

Адаптивный дизайн

LanderLab использует CSS container queries, а не media queries. Всегда пишите синтаксис контейнера, как ниже: обычные запросы @media внутри контейнера квиза работать как ожидается не будут. Точка перелома — 490px: всё, что шире, считается десктопом, всё, что уже, — мобильным. Синтаксис container query
Не используйте @media queries Вместо @media (...) используйте @container quiz-container (...). Квиз — это компонент-контейнер, и media queries не отражают его реальную ширину.

Состояния и валидация

Когда поле не проходит валидацию, у него появляется класс .ll-quiz-block--has-error. Используйте его, чтобы оформить состояния ошибок в стиле вашего дизайна.

Стили ошибок

Динамические переменные в тексте

В текстовых блоках могут быть живые переменные, например {{firstName}}: они обновляются по мере ввода пользователем. Они рендерятся как элементы .ll-quiz-variable (span).

Готовые примеры

Вставьте любой из них в панель Custom CSS, чтобы быстро начать.

Пример 1 — чистая минималистичная тема

Пример 2 — скруглённая яркая тема

Пример 3 — корректировки макета под мобильные

Классы типов блоков

Используйте эти модификаторы с .ll-quiz-block, чтобы обращаться к отдельным типам блоков.