自定义 CSS
自定义 CSS 字段会追加在 Minaya 自身样式之后, 因此您的规则无需 !important 即可生效。小组件渲染在 shadow root 中,所以此处的样式不会泄漏到您的页面——您页面的 CSS 也不会意外地重新设置小组件的样式。
与边缘的间距
位置由两个自定义属性控制。将它们设置在 .aicb-root 上,启动按钮和面板都会随之调整:
.aicb-root {
--aicb-offset-side: 40px;
--aicb-offset-bottom: 32px;
}默认值均为 20px。这些设置仅适用于 桌面端—— 移动端断点会设置自己更紧凑的数值,因此较大的桌面端偏移量 不会把小组件挤出手机屏幕。
颜色变量
小组件绘制的每一种颜色都是一个 CSS 自定义属性,因此您可以 单独覆盖某一项,而无需重写它所属的整条规则。这些变量 与仪表盘颜色选择器写入的变量相同。
| 变量 | 作用对象 |
|---|---|
--aicb-primary | 头部栏、访客气泡、发送按钮、启动按钮 |
--aicb-header-text | 头部的助手名称与图标 |
--aicb-bot-bubble | 助手回复的背景色 |
--aicb-bot-text | 助手回复内的文字 |
--aicb-user-text | 访客自己消息中的文字 |
--aicb-surface | 面板与输入区背景 |
--aicb-panel | 消息区域背景 |
--aicb-text | 占位符及其他界面文字 |
--aicb-border | 面板边框与输入区分隔线 |
--aicb-input | 输入框背景 |
/* Override just the two you care about. */
.aicb-root {
--aicb-bot-bubble: #EEF2FF;
--aicb-bot-text: #1E1B4B;
}在此设置的颜色会覆盖当前所显示配色方案的仪表盘数值。多数情况下您并不需要这样做—— 在 小组件外观 中设置颜色,Minaya 会为您 选择正确的配色方案。当您需要选择器未覆盖的效果时, 再使用 CSS,例如渐变:
.aicb-header {
background: linear-gradient(135deg, #14B8A6, #0EA5E9);
}Minaya 在 JavaScript 中解析明暗主题,而不是交由媒体查询处理, 这样它就能跟随您网站自己的主题切换开关,而不仅仅是操作系统设置。 这意味着自定义 CSS 中的 @media (prefers-color-scheme: dark) 代码块 不会跟随您网站的切换开关——请将深色模式覆盖规则限定在 您自己的选择器范围内,或者在仪表盘中按配色方案分别设置颜色。 参见 匹配页面主题。
类参考
| 类 | 元素 |
|---|---|
.aicb-root | 最外层容器。在此设置自定义属性。 |
.aicb-launcher | 悬浮按钮。 |
.aicb-panel | 聊天窗口。 |
.aicb-panel.aicb-open | 面板打开时的状态。 |
.aicb-header | 头部栏。 |
.aicb-header-title | 头部中的助手名称。 |
.aicb-logo / .aicb-logo-mark | 自定义徽标图片/默认图标。 |
.aicb-messages | 可滚动的消息区域。 |
.aicb-bubble | 任意消息气泡。 |
.aicb-bubble-assistant | 助手回复。 |
.aicb-bubble-user | 访客消息。 |
.aicb-bubble-error | 错误消息。 |
.aicb-typing / .aicb-typing-dot | 输入提示及其圆点。 |
.aicb-footer | 输入行。 |
.aicb-input | 文本输入框。 |
.aicb-counter / .aicb-counter-max | 字符计数器,以及达到上限时的状态。 |
.aicb-send | 发送按钮。 |
.aicb-feedback / .aicb-feedback-btn | 点赞/点踩行及按钮。 |
.aicb-link | 回复中的链接。 |
.aicb-list / .aicb-para / .aicb-code | 回复中的富文本。 |
示例
方形、扁平面板
.aicb-panel {
border-radius: 4px;
box-shadow: none;
border: 1px solid #d4d4d8;
}桌面端更大的面板
@media (min-width: 900px) {
.aicb-panel { width: 400px; height: 560px; }
}方形启动按钮
.aicb-launcher {
border-radius: 12px;
width: 52px;
height: 52px;
}重新设置回复中链接的样式
.aicb-link {
color: #7c3aed;
text-decoration-thickness: 2px;
}隐藏反馈按钮
.aicb-feedback { display: none; }预览的准确性
仪表盘预览使用相同的类名,还原了主要元素——面板、头部、 消息、气泡、输入区、输入框、发送按钮,以及启动按钮、 问候气泡和预聊天表单——因此大多数规则都会在预览中体现出来。
它只是一种近似效果,而非真实的小组件:预览使用普通 DOM, 而非 shadow root,并且省略了输入提示和反馈按钮。 定位偏移量在预览中也不会产生可见的移动,因为预览 位于一个固定尺寸的容器内而非视口中——出于同样的原因, 启动按钮会被绘制在面板的对面,而不是下方。
请在真实页面上测试位置的更改。参见 安装小组件。
注意事项
自定义 CSS 会被原样应用,且不会经过校验。格式错误的规则可能会 破坏小组件在所有访客面前的布局,因此请每次只改动一处, 并在真实页面上检查结果。