這篇文章帶給大家的內容是關於css-theme如何透過原始碼產生一份包含多套皮膚配置的樣式文件,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
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如何透過原始碼產生一份包含多套皮膚配置的樣式文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),