Vue的elementUI實現(xiàn)自定義主題方法
使用vue開發(fā)項目,用到elementUI,根據(jù)官網(wǎng)的寫法,我們可以自定義主題來適應(yīng)我們的項目要求,下面來介紹一下兩種方法實現(xiàn)的具體步驟,(可以參考官方文檔自定義主題官方文檔),先說項目中沒有使用scss編寫,用主題工具的方法(使用的較多)
第一種方法:使用命令行主題工具
使用vue-cli安裝完項目并引入element-ui(具體可參考第二種方法中的介紹)
一、安裝工具
1,安裝主題工具
npm i element-theme -g
2,安裝chalk主題,可以從 npm 安裝或者從 GitHub 拉取最新代碼
# 從 npm npm i element-theme-chalk -D # 從 GitHub npm i https://github.com/ElementUI/theme-chalk -D
二、初始化變量文件
et -i [可以自定義變量文件,默認為element-variables.scss] > ✔ Generator variables file
這時根目錄下會產(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 > ✔ build theme font > ✔ build element theme
五、引入自定義主題
最后一步,將編譯好的主題文件引入項目(編譯的文件默認在根目錄下的theme文件下,也可以通過 -o 參數(shù)指定打包目錄),在入口文件main.js中引入
import '../theme/index.css' import ElementUI from 'element-ui' import Vue from 'vue' Vue.use(ElementUI)
在項目中寫些樣式,看下主題色是否改變:(主題色變?yōu)樽仙?/p>
<div> <el-button>默認按鈕</el-button> <el-button type="primary">主要按鈕</el-button> <el-button type="success">成功按鈕</el-button> <el-button type="info">信息按鈕</el-button> <el-button type="warning">警告按鈕</el-button> <el-button type="danger">危險按鈕</el-button> </div>
第二種方法: 直接修改element樣式變量
在項目中直接修改element的樣式變量,(前提是你的文檔也是使用scss編寫)
一、首先用vue-cli安裝一個新項目:
1,安裝vue:
npm i -g vue
2,在項目目錄下安裝vue-cli:
npm i -g vue-cli
3,基于webpack建立新項目( vue-project)
vue init webpack vue-project
4,依次輸入以下命令行,運行vue-project
cd vue-project npm i npm run dev
二、安裝elementUI以及sass-loader,node-sass(項目中使用scss編寫需要依賴的插件)
1,安裝element-ui
npm i element-ui -S
2,安裝sass-loader,node-sass
npm i sass-loader node-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中引入上面的文件即可
import Vue from 'vue' import Element from 'element-ui' import './element-variables.scss' Vue.use(Element)
看下效果吧,在文件里引入些樣式看看,如button
<div> <el-button>默認按鈕</el-button> <el-button type="primary">主要按鈕</el-button> <el-button type="success">成功按鈕</el-button> <el-button type="info">信息按鈕</el-button> <el-button type="warning">警告按鈕</el-button> <el-button type="danger">危險按鈕</el-button> </div>
默認的顏色已經(jīng)變?yōu)槲覀冏远x的了,有其他的改變在element-variable.scss文件中改變變量即可
以上這篇Vue的elementUI實現(xiàn)自定義主題方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
VUE中對object.object和object[object]的使用解讀
這篇文章主要介紹了VUE中對object.object和object[object]的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06Vue.js實現(xiàn)數(shù)據(jù)響應(yīng)的方法
這篇文章主要介紹了Vue.js實現(xiàn)數(shù)據(jù)響應(yīng)的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-08-08VueJs監(jiān)聽window.resize方法示例
本篇文章主要介紹了VueJs監(jiān)聽window.resize方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01讓webpack+vue-cil項目不再自動打開瀏覽器的方法
今天小編就為大家分享一篇讓webpack+vue-cil項目不再自動打開瀏覽器的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09