element 如何自定義主題
自定義主題 在我學習element的時候,就直接忽略了。現在返回來學習一下 ,原來 通過自定義主題可以改變elemnt中默認的一些樣式。這樣,對於一些不想用elment自帶但是用到比較多的樣式,可以進行修改。
看了很多關於自定義主題的文章,其實都是 差不多的, 我想自己寫一遍,加深一下印象,也希望能給別人帶來幫助。
這篇博客的思路,總結性比較強,指的大家j借鑒:https://blog.csdn.net/young_emily/article/details/78591261
改變原有的elementui主題:
安裝elementui的自定義主題工具,然後初始化變量文件,得到elementui的scss文件,我們修改顏色就修改他的scss文件,然後編譯scss文件得到css文件,我們引用修改好了的css文件[實現覆蓋elementui的css文件]即可實現換膚。
我下面寫的這種方法;是項目中沒有使用scss,可以通過命令行主題工具進行深層次的主題機制
步驟:
1》安裝主題生成工具,可以全局安裝或者安裝在當前項目下,推薦安裝在項目裏,方便別人 clone 項目時能直接安裝依賴並啟動,這裏以全局安裝做演示。:
npm i element-theme -g
2》安裝白堊主題,可以從 npm 安裝或者從 GitHub 拉取最新代碼。
# 從 npm
npm i element-theme-chalk -D
# 從 GitHub
npm i https://github.com/ElementUI/theme-chalk -D
在這裏 我是使用的第一種方法,直接通過npm安裝的。
3》初始化變量文件 這一步 我自己在寫的實現的時候 總是找不到文件,我覺得這一步需要註意一下,後來不知道怎麽回事,就好了
主題生成工具安裝成功後,如果全局安裝可以在命令行裏通過 et
調用工具,如果安裝在當前目錄下,需要通過 node_modules/.bin/et
訪問到命令。執行 -i
初始化變量文件。默認輸出到 element-variables.scss
,當然你可以傳參數指定文件輸出目錄。
et -i
> ? Generator variables file 出現這一標誌,表示著初始化變量文件成功。
如果使用默認配置,執行後當前目錄會有一個 element-variables.scss
這個文件就自動生成到根目錄下,可以看下圖:
修改變量
直接編輯 element-variables.scss
文件,例如修改主題色為紅色。
$--color-primary: red;
編譯主題
保存文件後,到命令行裏執行 et
編譯主題,如果你想啟用 watch
模式,實時編譯主題,增加 -w
參數;如果你在初始化時指定了自定義變量文件,則需要增加 -c
參數,並帶上你的變量文件名(每次改完變量後,都需要編譯後 才會在頁面中更改)
et
> ? build theme font
> ? build element theme
引入自定義主題(即讓你修改的變量 得以應用)
默認情況下編譯的主題目錄是放在 ./theme
下,你可以通過 -o
參數指定打包目錄。像引入默認主題一樣,在代碼裏直接引用 theme/index.css
文件即可。
import ‘../theme/index.css‘
import ElementUI from ‘element-ui‘
import Vue from ‘vue‘
Vue.use(ElementUI)
這是目前我用到的自定義主題,還有其他種方法,以後會慢慢補充的,希望大家多多支持。
element 如何自定義主題