☰
Spicetify Ziro 主题实战指南:16 套配色方案、color.ini 变量体系与 user.css 源码级定制解析
2026/10/2 8:20:51 网站建设 项目流程
  • 前端

【免费下载链接】spicetify-themes

A community-driven collection of themes for customizing Spotify through Spicetify - https://github.com/spicetify/cli

项目地址:https://gitcode.com/GitHub_Trending/sp/spicetify-themes
点击查看免费下载

Ziro 是 spicetify-themes 社区主题集合中一款设计语言极为统一、风格"平滑圆润"的 Spotify 美化主题,其灵感来自 [Zorin OS 的 GTK 主题]设计语言与 spot 类播放器界面的克制配色。本文以 Ziro/README.md 为主线,结合仓库内真实的 color.ini(16 套完整配色方案)与 user.css(586 行核心样式)逐层拆解:读者将掌握 Ziro 的配色体系与切换方式、每个颜色变量的 UI 映射关系,以及如何通过改色与改圆角变量定制出属于自己的 Ziro 变体。

一、Ziro 主题概览:设计来源与风格定位

根据 Ziro/README.md 的说明,Ziro 受两处设计启发:

  • Zorin OS 的 GTK 桌面主题:贡献了"扁平 + 圆角 + 低饱和度"的现代桌面质感,这也是 Ziro 大量使用border-radius圆角变量、隐藏阴影的根源;
  • spot 播放器:贡献了紧凑、克制、以内容为中心的布局思路。

在 manifest.json 中,Ziro 的官方描述为"a smooth theme inspired by zorin os"(一个受 Zorin OS 启发的平滑主题),作者为 schnensch0,主题目录包含user.css与color.ini两个核心文件,属于标记为latest(适配最新版 Spicetify)的主题。

Ziro 的视觉语言可以概括为三点:单一底色背景(main、sidebar、player 三区同色,消除 Spotify 默认的分区色差)、卡片化内容区(所有卡片、菜单、输入框统一使用card色与圆角)、强统一的强调色(selected-row、button、tab-active 等交互状态共用同一强调色)。

二、16 套配色方案:明暗 × 色相的双轴矩阵

README 以截图形式展示了 Ziro 的多种配色;而真正完整的配色清单保存在 color.ini 中,共16 个[scheme]段,呈"6 种色相 × 明暗两版 + 4 套第三方流行配色"的矩阵结构:

色相系深色版浅色版
Blue(蓝)[blue-dark][blue-light]
Gray(灰)[gray-dark][gray-light]
Green(绿)[green-dark][green-light]
Orange(橙)[orange-dark][orange-light]
Purple(紫)[purple-dark][purple-light]
Red(红)[red-dark][red-light]

此外还有 4 套社区流行配色:Rose Pine三件套([rose-pine]、[rose-pine-moon]、[rose-pine-dawn],分别对应暗、中暗、亮三个亮度档)以及[tokyo-night](东京之夜)。

以[blue-dark]为例,一套完整 scheme 的定义如下(见 color.ini):

[blue-dark] text = bde6fb subtext = 6d8692 main = 1e2529 sidebar = 1e2529 player = 1e2529 card = 171d20 shadow = 171d20 selected-row = bde6fb button = bde6fb button-active = bde6fb button-disabled = 2a3439 tab-active = bde6fb notification = 171d20 notification-error = fb7c7c misc = 1e2529

可以清晰看出 Ziro 的配色纪律:main / sidebar / player 三者取值完全一致(背景同色);selected-row / button / button-active / tab-active 四者共享同一强调色(本方案中为浅蓝bde6fb);card 与 shadow 同为卡片底色。浅色版(如[blue-light],见 color.ini)则把底色切换到f5f7fa/ffffff,强调色换成高饱和的22c5fd,文本变为深蓝123354。

Rose Pine 系列忠实还原了 Rose Pine 官方调色板:[rose-pine]主色191724、强调色ebbcba;[rose-pine-moon]底色提亮至232136;[rose-pine-dawn]则为米白底f2e9e1配砖红d7827e(详见 color.ini)。[tokyo-night]则使用242638深底与B5B9D6亮文本(见 color.ini),注意它的大写十六进制写法同样被 Spicetify 接受。

三、color.ini 变量映射:每个颜色管哪块 UI

color.ini 文件头部的注释是理解 Ziro 配色逻辑的"官方字典",逐条展开如下:

变量作用的 UI 区域
main/sidebar/player三处背景:主内容区、左侧导航栏、底部播放栏
card卡片、歌曲列表(tracklist)、下拉菜单、输入框的背景
shadow按钮上的文字色、激活的 Tab 文字色、选中行的文字色(与selected-row背景搭配形成对比)
selected-row选中歌曲行与激活 Tab 的背景
button-active播放按钮(主播放/暂停键)、聚焦输入框的外轮廓
button其余所有普通按钮
button-disabled音量条与进度条背景、滚动条滑块、边框、悬停背景
tab-active激活的 Tab 标签背景
notification/notification-error通知弹窗背景 / 错误通知
misc其余杂项

这套映射在 user.css 中可以直接找到证据,例如:

  • 卡片背景:.main-card-card使用var(--spice-card)(user.css);
  • 进度条底色:.x-progressBar-progressBarBg使用var(--spice-button-disabled)(user.css);
  • Tab 激活态:.oaNVBli46GtVjaQKB15g等使用background: var(--spice-tab-active)(user.css)。

注意:Spicetify 会把color.ini中的键名自动转成--spice-<key>形式的 CSS 变量(如main对应--spice-main),并在user.css中引用;同时还会派生--spice-rgb-<key>(RGB 三元组形式,供rgba()使用),如 user.css 中的rgba(var(--spice-rgb-card), 1)。

四、安装与切换:一条命令换肤

Ziro 的使用方式与其他 Spicetify 主题完全一致,官方流程如下:

  1. 克隆仓库并拷贝主题目录(Linux/macOS):
    git clone --depth=1 <仓库地址> cd spicetify-themes cp -r * ~/.config/spicetify/Themes

    Windows PowerShell 用户使用:

    cp * "$(spicetify -c | Split-Path)\Themes\" -Recurse
  2. 应用 Ziro 主题:
    spicetify config current_theme Ziro
  3. 切换配色方案(主题内置 16 套,任选其一):
    spicetify config color_scheme blue-dark spicetify config color_scheme rose-pine-dawn
  4. 让配置生效:
    spicetify apply

注意事项(来自仓库根 README.md):Ziro 及本仓库所有主题要求最新版 Spotify 与 Spicetify;Dribbblish、Turntable 等带 JS 的主题需按各自 README 额外操作,而 Ziro 仅由user.css+color.ini组成,属纯 CSS 主题,安装即为完整生效;官方不支持 ad-block 修改版 Spotify,请使用官方客户端。

五、user.css 源码拆解:Ziro 的"平滑感"从何而来

user.css 全文件 586 行,是 Ziro 观感的真正实现层。它的设计手法高度模式化,适合作为自定义 Spicetify 主题的样板。

5.1 全局设计令牌:圆角与滚动条

文件开头的:root定义了全局设计令牌(user.css):

:root { --br-1: 10px; /* 大圆角:卡片、菜单、tracklist */ --br-2: 8px; /* 小圆角:按钮、输入框、滚动条滑块 */ --scrollbar: unset; /* 默认隐藏滚动条 */ --spice-main-elevated: var(--spice-main); --spice-highlight: var(--spice-button-disabled); --spice-highlight-elevated: var(--spice-card); }

其中--br-1/--br-2两个圆角令牌贯穿全文件:卡片用--br-1,按钮与输入框用--br-2,封面图则取calc(var(--br-2) / 2)(user.css)。同时* { box-shadow: none !important; }(user.css)全局移除阴影,这正是 Ziro 扁平感的来源。

5.2 背景统一与导航栏

  • 隐藏首页 Header、实体页渐变背景与操作栏背景(user.css),让内容区、顶栏、导航栏统一为var(--spice-main);
  • 导航栏激活项使用color: var(--spice-shadow); background: var(--spice-selected-row)(user.css),与 color.ini 的"selected-row/shadow"变量语义一一对应;
  • 侧边栏列表项统一为--br-1圆角,悬停时以--spice-button-disabled做背景反馈(user.css)。

5.3 播放器:自定义滑块与进度条

Ziro 对底部播放栏做了精细重排(user.css):

  • 进度条被绝对定位到底部上方(bottom: 82px),时间文本右移并借助::after { content: ' /' }拼出"已播放 / 总时长"格式(user.css);
  • 滑块(.progress-bar__slider)改为 16px 圆点,border: 2px solid var(--bar),悬停时进度条加高到 8px(user.css);
  • 播放栏按钮统一着色为var(--spice-button),主播放/暂停键则反转为var(--spice-shadow)文字色(user.css)。

5.4 歌曲列表与"正在播放"动画

歌曲列表被整体放进--spice-card背景的圆角容器(user.css),选中行以--spice-tab-active高亮、文字反白为--spice-shadow。最有辨识度的是播放中动画图标:通过内联 SVG + CSS keyframesplay让四根声柱以不同延迟(-0.51s、0s、-0.15s、-0.75s)做 scaleY 动画,再用-webkit-mask-image把它作为遮罩、以var(--spice-text)填充上色(user.css)——这种做法让动画图标自动适配任意配色。

5.5 其余细节:歌词、全屏、Marketplace

  • 歌词页:显式覆盖--lyrics-color-active/inactive/passed/messaging四个变量并去掉歌词背景图(user.css);
  • 全屏模式(Now Playing View):跨淡出封面采用calc(var(--br-1) * 3)的大圆角,up-next 面板改为 card 底色圆角卡(user.css);
  • 设置开关:toggle 滑块被改为 18px 圆点并用--spice-shadow上色(user.css);
  • 对 Spicetify Marketplace 扩展的 Tab、卡片、设置按钮均做了配色适配(user.css),说明 Ziro 对第三方生态保持兼容。

六、定制你的 Ziro 变体:改色、改圆角

基于以上结构,定制 Ziro 只需两步,且不需要修改任何 CSS 逻辑:

  1. 新增配色:在 color.ini 中追加一个[my-scheme]段,仿照上文的 15 个变量定义颜色,然后执行:
    spicetify config color_scheme my-scheme spicetify apply
  2. 调整圆角与滚动条:在 user.css 的:root中覆盖--br-1(如24px更圆润)、--br-2,或将--scrollbar改为unset之外的值(如恢复默认)即可全局生效。

注意:Ziro 的强调色联动(selected-row / button / button-active / tab-active 同色)是保持观感统一的关键;若只改其中一两个变量,会出现按钮与选中态"脱色",建议成套调整。

七、结语

Ziro 的价值在于它把"变量即设计系统"的思想贯彻到了极致:color.ini 用 16 套 15 变量方案覆盖明暗 × 色相的全部组合,user.css 则用--br-1/--br-2两个圆角令牌和统一的--spice-*变量引用,让任何配色方案都能无缝套用到同一套圆角布局上。如果你想在社区主题中选一款"改色成本最低、设计语言最自洽"的方案,Ziro 是极佳的起点;若需要查看全部主题的整体预览,可参考 THEMES.md 中的 Ziro 专区。

  • 前端

【免费下载链接】spicetify-themes

A community-driven collection of themes for customizing Spotify through Spicetify - https://github.com/spicetify/cli

项目地址:https://gitcode.com/GitHub_Trending/sp/spicetify-themes
点击查看免费下载
上一篇:QMK 固件中的 city42:RP2040 一体式矮轴分体键盘的移植与编译实践指南
下一篇:ESP-BLE-UART Vibe Indicator:用 JSONL 协议驱动红黄绿灯语反馈的 ESP-IDF 示例解析

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询