css-theme如何通过源码生成一份包含多套皮肤配置的样式文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了css-theme如何通过源码生成一份包含多套皮肤配置的样式文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1922字,纯文字阅读大概需要3分钟。
内容图文
![css-theme如何通过源码生成一份包含多套皮肤配置的样式文件](/upload/InfoBanner/zyjiaocheng/417/01c051b8b373496eb6676b05b73f0cef.jpg)
css-theme
通过单一css文件生成多套主题,并合并入一个css文件中
特性
只加载一个css,通过切换rootClass瞬间切换主题
体积压缩,将多套css合并,去除冗余代码,避免文件体积膨胀
低侵入性,不改变现有开发模式,一处修改,全局生效
安装
$ npm i css-theme --save-dev
使用
css编写
在css中需要根据主题变化的地方使用占位符,占位符可以是任何字符串。
你也可以通过预处理器变量的方式向css文件注入这些占位符。
@dark: #theme1; @light: #theme2; .container { .text1 { font-size: 16px; color: #theme1; line-height: normal; } .text2 { font-size: 14px; color: @dark; line-height: normal; } .text2 { font-size: 14px; color: @light; line-height: normal; } }
gulp插件模式
在gulp任务中调用theme插件。详见 demo/gulp
var cssTheme = require('css-theme').gulp; // gulp-plugin var themeConfig = require('./theme.config'); // configs less({ plugins:[new LessPluginTheme(themeConfig)] })
less插件模式
在通过gulp/webpack等工具调用less时,插入theme中间件。详见 demo/less
var LessPluginTheme = require('css-theme').less; // less-plugin var themeConfig = require('./theme.config'); // configs gulp.task('default', function() { return gulp.src('./index.less') .pipe(less()) .pipe(cssTheme(themeConfig)) .pipe(gulp.dest('./dist')); });
配置
placeholder: 占位符,描述每个变量在css文件中对应的占位符
list: 主题列表
list.targetMap: 该主题中每个变量对应的值
list.rootClass: 使用该主题时顶层添加的class
list.default: 是否将该主题作为默认主题,在未指定class时默认展示该主题
module.exports = { 'placeholder': { 'dark': '#theme1', 'light': '#theme2' }, 'list': [ { 'default': false, 'targetMap': { 'dark': '#ff6a3a', 'light': '#ffa284', }, 'rootClass': 'skin_orange' }, { 'default': false, 'targetMap': { 'dark': '#fdd000', 'light': '#ffd71c', }, 'rootClass': 'skin_yellow' } ] };
以上就是css-theme如何通过源码生成一份包含多套皮肤配置的样式文件的详细内容。
内容总结
以上是互联网集市为您收集整理的css-theme如何通过源码生成一份包含多套皮肤配置的样式文件全部内容,希望文章能够帮你解决css-theme如何通过源码生成一份包含多套皮肤配置的样式文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。