LanderLab 让你可以可视化地设计测验,但如果你需要更多控制权,可以使用 Custom CSS(自定义 CSS)在内置设置之外为测验设置样式。
当你想要微调测验元素的外观,或应用编辑器中没有提供的样式时,这非常有用。
工作原理
LanderLab 允许你向流程中注入自定义 CSS。你的 CSS 会自动限定在 .ll-quiz 根容器内,因此样式只会影响你的测验,绝不会影响页面的其他部分。
在哪里添加 CSS
在 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
所有文本输入框和下拉选择框
.ll-quiz-block__input-wrapper
输入框外层的包裹 div
.ll-quiz-block__label
字段标签
.ll-quiz-block__decorator
前缀/后缀图标或文本
.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
单个多项选择选项
.ll-choice-option:has(input:checked)
已选中的选项
.ll-choice-option__text
选项内的文本标签
.ll-img-choice-option
图片选择选项卡片
.ll-img-choice-option:has(input:checked)
已选中的图片选择卡片
.ll-choice-label
选项区块的分组标签
进度与反馈
.ll-quiz-progress__fill
进度条的填充部分
.ll-quiz-header__progress-fill
页眉进度条的填充部分
.ll-quiz-block—has-error
校验失败的区块
.ll-quiz-block-error
错误消息文本
.ll-quiz-variable
文本中的动态变量(例如名字)
输入字段
所有文本输入框、下拉选择框、多行文本框及类似字段共享相同的类结构。定位 .ll-quiz-block__input 可以一次性为它们全部设置样式,也可以按区块类型缩小范围,进行单独控制。
为所有输入字段设置样式
CSS
通过 ID 定位特定区块
在 LanderLab 中编辑区块时,可以从 URL 中找到区块 ID(例如 text-field-abc123)。
为前缀/后缀装饰元素设置样式
LanderLab 中的按钮渲染为 <a> 元素,而不是 <button>。请为每种按钮类型使用对应的选择器,或使用共享类一次性定位所有按钮。
Continue 按钮
Previous 按钮
Submit 按钮
一次性为所有按钮设置样式
按钮副标签(描述)
选项区块
多项选择和图片选择的选项可以分别设置默认、悬停和选中状态的样式。
选项样式
图片选择卡片
隐藏单选框/复选框图标
进度条
进度条有两个位置:一个内嵌在步骤中,另一个位于页眉。你可以分别或统一设置它们的样式。
内嵌进度条
页眉进度条
响应式设计
LanderLab 使用 CSS 容器查询,而不是媒体查询。请始终使用下面的容器语法,标准的 @media 查询在测验容器中无法按预期工作。
断点为 490px:宽于此值的视为桌面端,窄于此值的视为移动端。
容器查询语法
不要使用 @media 查询
请使用 @container quiz-container (...) 代替 @media (...)。测验是一个容器组件,媒体查询无法反映它的实际宽度。
状态与校验
当某个字段校验失败时,它会获得 .ll-quiz-block--has-error 类。使用该类可以让错误状态的样式与你的设计保持一致。
错误样式
动态文本变量
文本区块可以包含 {{firstName}} 这样的实时变量,它们会随用户输入而更新。这些变量会渲染为 .ll-quiz-variable span 元素。
完整示例
将以下任意示例粘贴到你的 Custom CSS 面板中,即可快速上手。
示例 1:简洁极简主题
示例 2:圆润多彩主题
示例 3:移动优先的布局调整
区块类型类名列表
在 .ll-quiz-block 上使用这些修饰符来定位各个区块类型。