摘要:詳見插件模式在通過(guò)等工具調(diào)用時(shí),插入中間件。詳見配置占位符描述每個(gè)變量在文件中對(duì)應(yīng)的占位符主題列表該主題中每個(gè)變量對(duì)應(yīng)的值使用該主題時(shí)頂層添加的是否將該主題作為默認(rèn)主題,在未指定時(shí)默認(rèn)展示該主題鏈接授權(quán)
css-theme
通過(guò)單一css文件生成多套主題,并合并入一個(gè)css文件中
特性只加載一個(gè)css,通過(guò)切換rootClass瞬間切換主題
體積壓縮,將多套css合并,去除冗余代碼,避免文件體積膨脹
低侵入性,不改變現(xiàn)有開發(fā)模式,一處修改,全局生效
安裝$ npm i css-theme --save-dev使用 css編寫
在css中需要根據(jù)主題變化的地方使用占位符,占位符可以是任何字符串。
你也可以通過(guò)預(yù)處理器變量的方式向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任務(wù)中調(diào)用theme插件。詳見 demo/gulp
var cssTheme = require("css-theme").gulp; // gulp-plugin var themeConfig = require("./theme.config"); // configs less({ plugins:[new LessPluginTheme(themeConfig)] })less插件模式
在通過(guò)gulp/webpack等工具調(diào)用less時(shí),插入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: 占位符,描述每個(gè)變量在css文件中對(duì)應(yīng)的占位符
list: 主題列表
list.targetMap: 該主題中每個(gè)變量對(duì)應(yīng)的值
list.rootClass: 使用該主題時(shí)頂層添加的class
list.default: 是否將該主題作為默認(rèn)主題,在未指定class時(shí)默認(rèn)展示該主題
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" } ] };鏈接
Questions
Github
授權(quán)MIT
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/114057.html
摘要:詳見插件模式在通過(guò)等工具調(diào)用時(shí),插入中間件。詳見配置占位符描述每個(gè)變量在文件中對(duì)應(yīng)的占位符主題列表該主題中每個(gè)變量對(duì)應(yīng)的值使用該主題時(shí)頂層添加的是否將該主題作為默認(rèn)主題,在未指定時(shí)默認(rèn)展示該主題鏈接授權(quán) css-theme 通過(guò)單一css文件生成多套主題,并合并入一個(gè)css文件中 特性 只加載一個(gè)css,通過(guò)切換rootClass瞬間切換主題 體積壓縮,將多套css合并,去除冗余代碼...
摘要:今年的大會(huì)上,受到作者現(xiàn)場(chǎng)開源項(xiàng)目的感染,我們也在現(xiàn)場(chǎng)宣布開源這套基于開發(fā)的組件庫(kù)。一個(gè)文件夾下有所有的官方插件,直到發(fā)現(xiàn)他們用了一個(gè)叫的工具。那么如何寫樣式同時(shí)單獨(dú)發(fā)布的組件如何引用樣式文件也是我們要解決的問(wèn)題。 showImg(https://segmentfault.com/img/bVDD9H?w=2502&h=1222); 今年的 JSConf 大會(huì)上,受到 gridcont...
摘要:是一款輕量級(jí)易擴(kuò)展的播放器,是為解決一些中小型的視頻業(yè)務(wù)場(chǎng)景。同時(shí)各插件由于是面向的播放器接口,插件不知道插件的存在,因此能極大地降低各插件功能間的耦合。 larkplayer 是一款輕量級(jí) & 易擴(kuò)展的 html5 播放器,是為解決一些中小型的視頻業(yè)務(wù)場(chǎng)景。這些業(yè)務(wù)不一定需要大而全的解決方案,并且他們往往有自己的定制化需求。 背景 為什么要編寫 larkplayer?(注意,這里面有...
摘要:是一款輕量級(jí)易擴(kuò)展的播放器,是為解決一些中小型的視頻業(yè)務(wù)場(chǎng)景。同時(shí)各插件由于是面向的播放器接口,插件不知道插件的存在,因此能極大地降低各插件功能間的耦合。 larkplayer 是一款輕量級(jí) & 易擴(kuò)展的 html5 播放器,是為解決一些中小型的視頻業(yè)務(wù)場(chǎng)景。這些業(yè)務(wù)不一定需要大而全的解決方案,并且他們往往有自己的定制化需求。 背景 為什么要編寫 larkplayer?(注意,這里面有...
閱讀 2942·2021-10-28 09:32
閱讀 2967·2021-10-11 10:57
閱讀 3114·2021-10-08 10:05
閱讀 2588·2021-09-28 09:36
閱讀 2213·2019-08-30 15:55
閱讀 2270·2019-08-30 15:44
閱讀 2394·2019-08-30 14:02
閱讀 3076·2019-08-29 17:16