如何用animal-island-ui换肤:--animal-* CSS变量自定义主题完整指南,1分钟改色全站生效
如何用animal-island-ui换肤--animal-* CSS变量自定义主题完整指南1分钟改色全站生效animal-island-ui 是一款灵感来自《集合啦动物森友会》的 React 组件库。想给它换肤不用 fork 源码、不用重新构建——只需要在你的项目 CSS 里覆盖--animal-*CSS 变量1 分钟就能让按钮、文字、背景等全站样式跟着变。本文就是面向新手的自定义主题完整指南看完即可上手 ️ 为什么覆盖一行 CSS 就能全站换色animal-island-ui 内部采用「双设计令牌」机制这是它能被轻松换肤的原因详见 docs/adr/0002-dual-design-token-system.md第一层编译期src/styles/variables.less 定义颜色、间距、圆角等 Less 变量供组件作者做计算第二层运行时src/styles/themes/default.less 把这些值映射成:root上的--animal-*CSS 自定义属性组件样式统一通过var(--animal-*)读取。浏览器遵循 CSS 层叠规则你在自己的样式表里重新声明同名变量就会覆盖默认值。比如 Button 组件里就是这样取色的见 src/components/Button/button.module.less.btn-default:hover { color: var(--animal-primary-color); border-color: var(--animal-primary-color); }所以你改的是「变量」而不是任何组件——一处覆盖全站生效。⚡ 最快上手步骤1分钟改色第 1 步安装并引入样式必须引入样式否则组件无样式npm install animal-island-uiimport { Button, Card } from animal-island-ui; import animal-island-ui/style;第 2 步在你的全局 CSS 里覆盖变量。只需在页面任意样式表中写一段:root覆盖即可例如把主色从薄荷青换成香芋紫:root { --animal-primary-color: #8a6cf5; /* 主色 */ --animal-primary-color-hover: #9d83f7; /* 悬停 */ --animal-primary-color-active: #7553e0; /* 按下 */ --animal-primary-color-bg: #f2effe; /* 主色浅底 */ }第 3 步刷新页面。所有引用该变量的按钮、Tab、聚焦环等会立即变成新配色无需重启构建工具。 常用 --animal-* 变量速查表以下是运行时最常用的变量与默认值完整清单见 docs/design-system/design-tokens.md变量名作用默认值--animal-primary-color主色按钮、聚焦环#19c8b9--animal-primary-color-hover/-active主色悬停 / 按下#3dd4c6/#50b9ab--animal-text-color主文字色暖棕色禁用纯黑#794f27--animal-text-color-secondary次要文字色#9f927d--animal-bg-color页面主背景奶油纸色#f8f8f0--animal-bg-color-secondary次级背景#f0e8d8--animal-border-color边框色#aaa69d--animal-success-color/--animal-warning-color/--animal-error-color成功 / 警告 / 错误状态色#6fba2c/#f5c31c/#e05a5a--animal-font-family字体栈Nunito Noto Sans SC见默认主题--animal-font-size-base基础字号14px--animal-spacing-sm~--animal-spacing-xl间距档位8–24px见默认主题--animal-border-radius-sm/-base/-lg圆角档位16px/18px/24px--animal-shadow-sm/-base/-lg软阴影暖色调 rgba 阴影--animal-motion-duration-base/--animal-motion-ease过渡时长 / 缓动曲线0.25s/cubic-bezier(0.4,0,0.2,1) 提示想确认自己项目里有哪些变量可用直接打开打包产物dist/index.css搜索:root或参考 docs/design-system/css-variables.md中文版见 docs/zh-CN/design-system/css-variables.md。 进阶技巧不只改颜色1. 换字体、改圆角、调动效变量覆盖不限于颜色字体族、字号、圆角、阴影、动画曲线都是运行时可覆盖的:root { --animal-font-family: PingFang SC, Microsoft YaHei, sans-serif; --animal-border-radius-lg: 32px; /* 卡片、大按钮更圆润 */ --animal-motion-duration-base: 0.4s; /* 动画放慢一点 */ }2. 局部换肤只改一个区域变量会沿 DOM 层叠继承所以可以只给某个容器重新赋值实现多主题并存比如侧边栏一个风格、内容区另一个风格.sidebar { --animal-primary-color: #e59266; /* 侧边栏内按钮变蜜桃橙 */ --animal-text-color: #fff; }3. 做一个简易「夜间模式」切换思路很简单给body加个 class再覆盖一组变量即可body.animal-dark { --animal-bg-color: #2b2620; --animal-text-color: #f0e8d8; --animal-border-color: #5a5245; }⚠️ 换肤避坑小贴士变量名是公开 API--animal-*前缀的变量名升级时保持稳定放心长期使用但请只覆盖运行时变量编译期 Less 变量primary-color这类是打包进产物的字面量运行时改不了。少数值不受变量控制primary 按钮的「3D 像素阴影」0 5px 0 0和 Modal 的 SVG 异形裁切属于视觉硬规则见 docs/design-system/design-rules.md改色时保留它们风格才不会走样。守住设计基调官方设计法则建议避免纯黑文字、冷灰背景、冷蓝聚焦色——换肤时优先在「暖棕文字 奶油底 鲜明主色」的框架内选色动森味才保得住。脱离组件库自实现如果你只是想要同款视觉风格而不引入组件库官方提供了一份精简版变量模板变量名如--animal-primary、--animal-radius在 docs/zh-CN/design-system/css-variables.md 中可直接复制使用。 相关资源运行时变量映射源码src/styles/themes/default.less设计令牌总表docs/design-system/design-tokens.mdCSS 变量模板docs/design-system/css-variables.md双令牌机制决策记录docs/adr/0002-dual-design-token-system.md本地运行 Demo 体验git clone https://gitcode.com/guokaigdg/animal-island-ui后执行npm install npm run dev一句话总结换肤 覆盖--animal-*变量。改一行颜色全站生效改一段 CSS 就是一个主题——这就是 animal-island-ui 自定义主题的完整玩法 创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

基于STM32与ESP8266的物联网数据采集系统:从硬件连接到ONENET云平台

基于STM32与ESP8266的物联网数据采集系统:从硬件连接到ONENET云平台

简介:这是一套面向嵌入式物联网开发初学者与课程设计者的实战项目资源,聚焦STM32F103单片机与ESP8266 Wi-Fi模块协同实现温湿度数据采集、MQTT协议接入新版ONENET云平台,并支持Web端与APP端实时查看的完整解决方案。资源包共含多个核心文件&a…

2026/11/13 20:30:02 阅读更多 →
深入解析 Ponytail 的 CSV Sum 案例:同一模型如何让“读 CSV 求和“从 20 行缩到 3 行

深入解析 Ponytail 的 CSV Sum 案例:同一模型如何让“读 CSV 求和“从 20 行缩到 3 行

深入解析 Ponytail 的 CSV Sum 案例:同一模型如何让"读 CSV 求和"从 20 行缩到 3 行 【免费下载链接】ponytail Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote. 项目地址: https://g…

2026/10/24 10:54:22 阅读更多 →
kalitorify命令大全:掌握7个关键指令,轻松切换Tor与常规网络

kalitorify命令大全:掌握7个关键指令,轻松切换Tor与常规网络

kalitorify命令大全:掌握7个关键指令,轻松切换Tor与常规网络 kalitorify是一款专为Kali Linux设计的透明代理工具,通过Tor网络实现匿名上网。本文将详细介绍7个核心命令,帮助你快速掌握网络切换技巧,保护在线隐私。 1…

2026/10/24 0:00:53 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/13 5:13:25 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/13 5:13:25 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/13 5:13:25 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/12 18:22:26 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/12 18:22:25 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/13 5:13:25 阅读更多 →

日新闻

周新闻

月新闻