溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么用Vue的elementUI實(shí)現(xiàn)自定義主題

發(fā)布時間:2022-03-07 15:15:42 來源:億速云 閱讀:487 作者:iii 欄目:web開發(fā)

這篇文章主要介紹了怎么用Vue的elementUI實(shí)現(xiàn)自定義主題的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么用Vue的elementUI實(shí)現(xiàn)自定義主題文章都會有所收獲,下面我們一起來看看吧。

  第一種方法:使用命令行主題工具

  使用vue-cli安裝完項(xiàng)目并引入element-ui(具體可參考第二種方法中的介紹)

  一、安裝工具

  1,安裝主題工具

  npmielement-theme-g

  2,安裝chalk主題,可以從npm安裝或者從GitHub拉取最新代碼

  #從npm

  npmielement-theme-chalk-D

  #從GitHub

  npmihttps://github.com/ElementUI/theme-chalk-D

  二、初始化變量文件

  et-i[可以自定義變量文件,默認(rèn)為element-variables.scss]

  >?Generatorvariablesfile

  這時根目錄下會產(chǎn)生element-variables.scss(或自定義的文件),大致如下:

  $--color-primary:#409EFF!default;

  $--color-primary-light-1:mix($--color-white,$--color-primary,10%)!default;/*53a8ff*/

  $--color-primary-light-2:mix($--color-white,$--color-primary,20%)!default;/*66b1ff*/

  $--color-primary-light-3:mix($--color-white,$--color-primary,30%)!default;/*79bbff*/

  $--color-primary-light-4:mix($--color-white,$--color-primary,40%)!default;/*8cc5ff*/

  $--color-primary-light-5:mix($--color-white,$--color-primary,50%)!default;/*a0cfff*/

  $--color-primary-light-6:mix($--color-white,$--color-primary,60%)!default;/*b3d8ff*/

  $--color-primary-light-7:mix($--color-white,$--color-primary,70%)!default;/*c6e2ff*/

  $--color-primary-light-8:mix($--color-white,$--color-primary,80%)!default;/*d9ecff*/

  $--color-primary-light-9:mix($--color-white,$--color-primary,90%)!default;/*ecf5ff*/

  $--color-success:#67c23a!default;

  $--color-warning:#eb9e05!default;

  $--color-danger:#fa5555!default;

  $--color-info:#878d99!default;

  ...

  三、修改變量

  直接編輯element-variables.scss文件,例如修改主題色為自己所需要的顏色(如:紫色(purple))

  $--color-primary:purple;

  四、編譯主題

  修改完變量后,要編譯主題(如果編譯后,再次修改了變量,需要重新編譯)

  et

  >?buildthemefont

  >?buildelementtheme

  五、引入自定義主題

  最后一步,將編譯好的主題文件引入項(xiàng)目(編譯的文件默認(rèn)在根目錄下的theme文件下,也可以通過-o參數(shù)指定打包目錄),在入口文件main.js中引入

  import'../theme/index.css'

  importElementUIfrom'element-ui'

  importVuefrom'vue'

  Vue.use(ElementUI)

  在項(xiàng)目中寫些樣式,看下主題色是否改變:(主題色變?yōu)樽仙?/p>

  <p>

  <el-button>默認(rèn)按鈕</el-button>

  <el-buttontype="primary">主要按鈕</el-button>

  <el-buttontype="success">成功按鈕</el-button>

  <el-buttontype="info">信息按鈕</el-button>

  <el-buttontype="warning">警告按鈕</el-button>

  <el-buttontype="danger">危險按鈕</el-button>

  </p>

  第二種方法:直接修改element樣式變量

  在項(xiàng)目中直接修改element的樣式變量,(前提是你的文檔也是使用scss編寫)

  一、首先用vue-cli安裝一個新項(xiàng)目:

  1,安裝vue:

  npmi-gvue

  2,在項(xiàng)目目錄下安裝vue-cli:

  npmi-gvue-cli

  3,基于webpack建立新項(xiàng)目(vue-project)

  vueinitwebpackvue-project

  4,依次輸入以下命令行,運(yùn)行vue-project

  cdvue-project

  npmi

  npmrundev

  二、安裝elementUI以及sass-loader,node-sass(項(xiàng)目中使用scss編寫需要依賴的插件)

  1,安裝element-ui

  npmielement-ui-S

  2,安裝sass-loader,node-sass

  npmisass-loadernode-sass-D

  在這里說一下,不需要配置webpack.base.conf.js文件,vue-loader會根據(jù)不同類型文件來配置相應(yīng)loader來打包我們的樣式文件(感興趣的可看下vue-loader的核心代碼)

  三、改變element樣式變量

  1.在src下建立element-variables.scss文件(名字可以自定義),寫入如下代碼:

  /*改變主題色變量*/

  $--color-primary:teal;

  /*改變icon字體路徑變量,必需*/

  $--font-path:'../node_modules/element-ui/lib/theme-chalk/fonts';

  @import"../node_modules/element-ui/packages/theme-chalk/src/index";

  2.在入口文件main.js中引入上面的文件即可

  importVuefrom'vue'

  importElementfrom'element-ui'

  import'./element-variables.scss'

  Vue.use(Element)

  看下效果吧,在文件里引入些樣式看看,如button

  <p>

  <el-button>默認(rèn)按鈕</el-button>

  <el-buttontype="primary">主要按鈕</el-button>

  <el-buttontype="success">成功按鈕</el-button>

  <el-buttontype="info">信息按鈕</el-button>

  <el-buttontype="warning">警告按鈕</el-button>

  <el-buttontype="danger">危險按鈕</el-button>

  </p>

  默認(rèn)的顏色已經(jīng)變?yōu)槲覀冏远x的了,有其他的改變在element-variable.scss文件中改變變量即可

關(guān)于“怎么用Vue的elementUI實(shí)現(xiàn)自定義主題”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“怎么用Vue的elementUI實(shí)現(xiàn)自定義主題”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI