Storvia

全局 CSS 样式

了解如何使用全局 CSS 样式自定义游戏外观

全局 CSS 样式可以让你自定义游戏中消息的视觉效果——修改颜色、字体、背景、间距、圆角等等。在创作台的「全局 CSS 样式」编辑器中直接编写 CSS 即可。

直接写 CSS 规则就行,不需要添加 <style> 标签。样式仅在消息区域内生效,不会影响页面其他部分。

不熟悉 CSS?可以让 AI 帮你写。把你想要的效果描述给它(比如「用户消息气泡改成渐变紫色背景」),它就能生成对应的 CSS 代码,复制粘贴即可。

用户消息气泡

通过 .msg-message-user 类自定义用户发送的消息样式。

渐变背景:

.msg-message-user {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 18px 18px 4px 18px;
    color: #fff;
}

边框描边风格:

.msg-message-user {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
}

磨砂玻璃风格:

.msg-message-user {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
}

AI 消息气泡

通过 .msg-message-assistant 类自定义 AI 回复的消息样式。

用户消息气泡有系统默认样式(背景 + 圆角 + 模糊),AI 消息气泡默认是透明的。两者都可以通过全局 CSS 自由覆盖。

半透明背景:

.msg-message-assistant {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 18px 18px 18px 4px;
    padding: 12px 16px;
}

左边框装饰:

.msg-message-assistant {
    border-left: 3px solid #667eea;
    padding-left: 12px;
}

暗色卡片风格:

.msg-message-assistant {
    background: rgba(30, 30, 30, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 12px 16px;
}

覆盖预设标签样式

如果你使用了预设标签但不喜欢默认样式,可以直接用全局 CSS 覆盖,不需要修改正则规则。

/* 旁白改为金色边框风格 */
.msg-narration {
    color: #c9a96e;
    font-style: normal;
    border-left: 2px solid #c9a96e;
    padding-left: 12px;
    background: none;
    -webkit-text-fill-color: initial;
}

/* 场景描述改小字号 */
.msg-scenario {
    color: #888;
    font-size: 0.9em;
}

内置类名参考

以下是所有可覆盖的 CSS 类名:

消息容器

类名说明
.msg-message所有消息的基础容器,玩家和 AI 消息都包含此类
.msg-message-user玩家发送的消息气泡,与 .msg-message 同时存在
.msg-message-assistantAI 回复的消息气泡,与 .msg-message 同时存在(默认透明无样式)

三者的关系:.msg-message 是基础类,所有消息都有。在此基础上,玩家消息会追加 .msg-message-user,AI 消息会追加 .msg-message-assistant。所以用 .msg-message 设置通用样式(如字体、行高),用另外两个分别控制各自的外观。

预设标签

类名对应标签说明
.msg-narration<narration>旁白文字
.msg-system<system>系统提示
.msg-bubble<bubble>角色对话气泡
.msg-bubble-wrap<bubble>带说话人头像/名称时的外层包装容器(VStack 布局:头部 + 气泡)
.msg-bubble-header<bubble>说话人头部区域(头像 + 名称的行容器)
.msg-bubble-avatar<bubble>说话人头像图片
.msg-bubble-name<bubble>说话人名称文字
.msg-scenario<scenario>场景描述
.msg-quoted"中文引号"引号包裹的对话文字

折叠面板

类名说明
.msg-details折叠面板容器
.msg-summary折叠面板标题
.msg-details-body折叠面板展开后的内容

选项

类名说明
.msg-options选项容器
.msg-question选项的问题文字
.msg-option-item可点击的单个选项

开场白美化

类名说明
.msg-preset开场白美化容器
.msg-preset h1开场白标题
.msg-preset p开场白段落
.msg-preset .highlight开场白高亮文字

游戏面板更新提示

AI 回复后游戏面板刷新期间,会在消息下方显示一张「正在更新游戏面板」的胶囊提示。

类名说明
.state-updating-hint提示卡片外壳(背景、边框、圆角、内边距、高斯模糊)
.state-updating-text「正在更新游戏面板」文字
.state-updating-dots文字后方三个动画点的容器
.state-updating-dots .dot单个动画点(继承动画,可调字号/颜色)
.state-updating-dots .dot-1第 1 个点(动画延迟 0s)
.state-updating-dots .dot-2第 2 个点(动画延迟 0.2s)
.state-updating-dots .dot-3第 3 个点(动画延迟 0.4s)

游戏面板

如果你的角色启用了游戏面板(World Mode),也可以用全局 CSS 定制面板的视觉效果。

面板主容器

类名说明
.gs-game-state-panel游戏面板最外层根容器
.gs-layout-inline移动端 / 窄屏的内嵌模式
.gs-layout-side桌面端侧栏模式
.gs-side-left侧栏模式中的左侧面板
.gs-side-right侧栏模式中的右侧面板
.gs-inline-wrapper内嵌模式包装器(含 .gs-expanded 展开状态)
.gs-inline-panel内嵌模式展开后的面板容器
.gs-panel-header标签栏区域
.gs-panel-content内容滚动区域
.gs-side-left-top侧栏左列顶部世界状态区
.gs-side-header侧栏头部区域
.gs-side-title侧栏标题文字
.gs-side-content侧栏内容区域
.gs-resize-handle面板宽度拖拽手柄容器
.gs-resize-pill拖拽手柄胶囊形指示器

标签栏

类名说明
.gs-game-state-tabs标签栏根容器
.gs-tabs-scroll标签横向滚动容器
.gs-tab-btn单个标签按钮
.gs-tab-btn.gs-active当前激活的标签
.gs-tab-icon标签内的图标
.gs-tab-label标签文字
.gs-tab-badge标签右上角更新数量徽章

摘要条

类名说明
.gs-summary-bar摘要条容器(可点击展开)
.gs-summary-bar.gs-summary-expanded展开状态的摘要条
.gs-summary-content摘要内容滚动容器
.gs-summary-list摘要项目列表
.gs-summary-value单个摘要值文字
.gs-summary-sep摘要项之间的分隔符(竖线)
.gs-summary-empty无数据时的占位符
.gs-expand-icon展开/收起箭头图标

快速访问按钮

类名说明
.gs-quick-access-buttons快速按钮组容器
.gs-quick-btn单个快速访问按钮
.gs-btn-icon按钮内图标
.gs-btn-label按钮文字标签

折叠分区

类名说明
.cs-root折叠分区根容器
.cs-root.cs-open已展开状态的分区
.cs-header分区标题行(可点击折叠/展开)
.cs-icon分区标题前的图标
.cs-title-group标题和副标题的包装容器
.cs-title分区主标题
.cs-subtitle分区副标题
.cs-count标题行末尾的计数徽章
.cs-chevron折叠箭头图标
.cs-body分区展开后的内容容器

玩家卡片

类名说明
.ps-wrap玩家卡片外层包装
.ps-card玩家卡片主体
.ps-avatar玩家头像容器
.ps-avatar-img玩家头像图片
.ps-avatar-char无头像时的首字母占位符
.ps-info玩家信息区域
.ps-name玩家名称
.ps-desc玩家描述文字
.ps-edit-icon编辑按钮图标

角色列表

类名说明
.cs-wrap角色列表外层包装
.cs-list角色卡片列表
.cs-card单个角色卡片
.cs-card-head角色卡片头部(头像 + 名称)
.cs-card-body角色卡片展开后的内容
.cs-avatar角色头像容器
.cs-avatar.cs-avatar--pulse有更新时的脉冲动画头像
.cs-avatar-img角色头像图片
.cs-avatar-char无头像时的首字母占位符
.cs-head-info角色名称信息区域
.cs-head-row名称和性别的行容器
.cs-name角色名称文字
.cs-gender角色性别标签
.cs-gender-male男性标签(默认蓝色)
.cs-gender-female女性标签(默认粉色)
.cs-edit-icon角色编辑按钮图标

角色属性卡片

类名说明
.gs-character-card属性卡片根容器
.gs-character-card.gs-character-card-clickable可点击的属性卡片
.gs-card-header卡片头部(头像 + 名称)
.gs-avatar头像容器
.gs-avatar-img头像图片
.gs-avatar-char无头像时的首字母占位符
.gs-header-info头部信息区域
.gs-char-name角色名称
.gs-char-gender角色性别标签
.gs-attr-group属性分组容器
.gs-group-header属性分组标题行
.gs-group-name分组名称文字
.gs-group-attrs分组内属性列表
.gs-attr-row单行属性(键值对)
.gs-attr-key属性键名
.gs-attr-value属性值(文字类型)
.gs-attr-bar-wrapper进度条包装容器
.gs-attr-bar-track进度条背景轨道
.gs-attr-bar-fill进度条填充部分
.gs-attr-bar-label进度条旁边的数值标签

世界信息

类名说明
.gs-world-info-line世界信息行容器
.gs-world-item单个世界信息项
.gs-world-value世界信息值文字
.gs-world-sep项目之间的分隔符
.world-section世界分区容器
.world-title世界分区标题
.world-list世界信息列表
.world-item列表中的单个项目
.world-value项目值文字
.world-sep列表项分隔符

物品栏

类名说明
.inv-wrap物品栏外层容器
.inv-tabs物品栏分类标签栏
.inv-tab单个分类标签
.inv-tab.inv-tab-active当前激活的分类
.inv-tab-label分类标签文字
.inv-tab-count分类物品数量
.inv-tab-add添加新分类按钮
.inv-tab-add-input添加分类时的输入框
.inv-empty物品栏为空时的占位提示
.inv-items物品网格容器
.inv-cell单个物品格子
.inv-cell.inv-cell-open已展开详情的物品格子
.inv-row物品行(列表模式)
.inv-row-actions物品行操作按钮区域
.inv-item物品主体(图标 + 名称)
.inv-icon物品图标
.inv-icon-placeholder无图标时的表情占位
.inv-item-name物品名称
.inv-item-count物品数量标签
.inv-icon-btn物品操作图标按钮
.inv-icon-btn.inv-icon-btn-danger危险操作按钮(删除等)
.inv-icon-btn-img操作按钮内的图标
.inv-detail-wrapper物品详情展开容器
.inv-detail-inner物品详情内层
.inv-detail物品详情卡片
.inv-detail-icon-img详情中的物品图标图片
.inv-detail-icon-emoji详情中的物品图标表情
.inv-detail-count详情中的物品数量
.inv-detail-desc物品详情描述文字
.inv-detail-empty物品无描述时的占位

关系面板

类名说明
.gs-relationship-tab关系面板根容器
.gs-pair-list关系对列表
.gs-empty-state无关系数据时的空状态容器
.gs-empty-icon空状态图标
.gs-empty-text空状态提示文字

关系对卡片

类名说明
.rel-pair-card关系对卡片容器
.rel-pair-card.rel-pair-card--clickable可编辑的关系对卡片
.rel-pair-head卡片头部(两个角色的头像/名称)
.rel-pair-identity单侧角色身份区域
.rel-pair-identity--left左侧角色
.rel-pair-identity--right右侧角色
.rel-pair-avatar角色头像
.rel-pair-avatar.rel-pair-avatar--player玩家头像(特殊标记)
.rel-pair-initial无头像时的首字母占位
.rel-pair-name角色名称
.rel-pair-attrs关系属性列表
.rel-pair-row单行属性
.rel-pair-row.rel-pair-row--number数值型属性行
.rel-pair-row.rel-pair-row--string文字型属性行
.rel-pair-row.rel-pair-row--changed本轮有变化的属性行
.rel-pair-label属性名称
.rel-pair-col属性值列(左/右各一列)
.rel-pair-col--left左侧属性列
.rel-pair-col--right右侧属性列
.rel-pair-col--text文字型属性列
.rel-pair-num数值文字
.rel-pair-delta数值变化量(如 +3
.rel-pair-bar属性进度条
.rel-pair-bar--left左侧进度条(从右往左填充)
.rel-pair-bar--right右侧进度条(从左往右填充)
.rel-pair-bar-fill进度条填充部分
.rel-pair-text文字型属性值
.rel-pair-dash无值时的破折号占位
.rel-pair-empty无属性时的占位

注意事项

  • 可以和正则美化搭配使用:正则美化负责 HTML 结构,全局 CSS 负责视觉效果
  • 修改后可以在预览功能中实时查看效果

On this page