[css] 如何实现换肤功能?

cleverboy32
2019-06-06 01:15:00 星期四
css
                    
                        
如何实现换肤功能?
Comments per page
< Page 1 / 1 >
cleverboy32 2019-06-05 17:51:38

css 换肤常见方案
是通过 less/sass/postcss 等css 预处理器,通过它们自身的变量用法,设置不同变量,生成不同的主题样式,但是这些样式都是会被打包成常量,我们只能在编译之前修改变量,打包出对应的css 文件。

而如今出现了 css var 。此种变量是可以通过 js 改变变量值的。 demo
一般的插件在编译 css 时会将变量打包成常量,但是 postcss 有一个插件 postcss-advanced-variables 是支持直接打包为 css 变量的。 这将意味着我们可以仅仅覆盖 css 变量,或者 js 修改变量值都能改变主题色。
这里介绍一个成熟的打包变量插件,postcss-ui-theme (一波软广🤣, 支持 sass 语法, bem 规范命令,resolve 静态资源等强大功能。是自己非常成熟的沉淀物)

打包的代码如图
image

学习不打烊,充电加油只为遇到更好的自己,365天无节假日,每天早上5点纯手工发布前端知识点(死磕自己,愉悦大家)。希望大家在这浮夸的前端圈里,保持冷静,坚持每天花20分钟来学习与思考。在这千变万化,类库层出不穷的前端,建议大家不要等到找工作时,才狂刷题,提倡每日学习!欢迎大家关注3+1开源项目!希望大家每人去学习与思考!(不要为了谁而来,要为自己而努力!

【关注官方公众号】 每天4:30-5:00推送
【公众号推荐】 一起折腾前端算法
【微信学习群】 备注3+1