1.使用window全域性變數,把當前**名稱變數寫入全域性,
const colorlist = ['default','red','green']; //全域性變數
window.themecolor=colorlist[0]; //寫入window物件
2.使用less生成對應**的樣式,使用less中的變數函式,通過不同的顏色引數生成對應顏色的**;
在less中設定主題色變數
@theme-color : #226cdc; //預設主題色
@red-theme-color:#fe2419;
@green-theme-color:#226cdc;
用header舉例主題色樣式寫法,html略
.header-style(@theme-color:@theme-color)}}
.title
}.control-bar
}}//呼叫函式生成相應的樣式
.header-style(); // 預設主題色
.red
.green
3.通過更改body的class名稱,實現換膚(核心)
let themecolor = localstorage.getitem('themecolor'); // 判斷是否已存在使用的**
if (themecolor) else
document.body.classlist.add(window.cssstyle); //body 新增less中主題色的class
4.換膚按鈕事件,更改**
changecolor(colortype,e)
呼叫changecolor函式更改主題色,changecolor(''1''),changecolor(''0'')
注意:在vue中需要在頁面渲染完以後在執行body新增class的操作。
整體換膚的思路就是通過less生成對應主題色樣式,給每一套主題樣式新增乙個class,然後通過修改body的class即可實現主題色切換,自己學習記錄,希望能給諸君帶來一點啟發。
the end
CI框架主題切換的功能
本人接觸到這個框架不就,屬於菜鳥 公司現在用ci框架做專案 老大要做乙個主題切換的功能,說明功能的要求我的腦子裡瞬間有幾個想法.腦子裡最簡單的就是設定全域性變數 如 從資料庫裡面查詢出資料然後使用 後面同事說這樣用麻煩 這樣的話沒個方法都要先查下 然後替換 world 因為world 是整個模板的檔...
修改element ui主題色
命令列主題工具 1 安裝主題工具 在自己安裝目錄下 執行 npm install element theme dev 2 安裝chalk主題 npm install element theme chalk d 3.初始化變數檔案 主題生成工具安裝成功後,如果全域性安裝可以在命令列裡通過 et 呼叫工...
關於Flutter主題色
provider 跨元件狀態共享 為flutter定義主題色提供了方法。了解主題色,首先需要知道flutter定義主題的方法 我們可以在main.dart 內使用 初始化路由 initialroute 定義路由 ongenerateroute ongenerateroute,測試書籤 debugsh...