1. 程式人生 > >ElementUI 修改預設樣式的幾種辦法

ElementUI 修改預設樣式的幾種辦法

ElementUI 是一套ui元件庫,目前最新版本 react 和 vue 等主流框架都有支援。該庫預設主題色是天藍色,若用於專案開發,難免遇到要需求修改其預設樣式的情況,本文就基於 react 和 vue 框架介紹幾種修改 ElementUI 預設樣式的辦法。

ElementUI下載官網:http://element.eleme.io/#/zh-CN

Vue

安裝:

npm i element-ui -S

使用:

import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import App from './App.vue';

Vue.use(ElementUI);

new Vue({
  el: '#app',
  render: h => h(App)
});

(一)內嵌法修改樣式

通過:style修改,用於區域性元件塊:

<el-button :style="selfstyle">預設按鈕</el-button>
<script>
	export default {
		data() {
			return {
				selfstyle: {
					color: "white",
					marginTop: "10px",
					width: "100px",
					backgroundColor: "cadetblue"
				}
			};
		}
	}
</script>

(二):class引用修改樣式

通過:class修改,用於區域性元件塊:

<el-button :class="[selfbutton]">預設按鈕</el-button>
<script>
	export default {
		data() {
			return {
				selfbutton: "self-button"
			};
		}
	}
</script>
<style lang="stylus" rel="stylesheet/stylus" scoped>
	.self-button {
		color: white;
		margin-top: 10px;
		width: 100px;
		background-Color: cadetblue;
	}
</style>

(三)import匯入修改樣式

通過import匯入樣式檔案,若在main.js中匯入css 則表示全域性引用。既可以用於區域性元件塊也可以用於全域性元件:

<el-button>和下面的el-button效果一樣</el-button>
<el-button :class="[selfbutton]">預設按鈕</el-button>
<script>
	import './button.css'
	export default {}
</script>
<style lang="stylus" rel="stylesheet/stylus" scoped></style>

/* button.css */ 
.el-button {
	color: white;
	margin-top: 10px;
	width: 100px;
	background-Color: cadetblue;
}

.self-button {
	color: white;
	margin-top: 10px;
	width: 100px;
	background-Color: cadetblue;
}

.self-button:hover {
	color: black;
	background-Color: whitesmoke;
}

 

React

安裝:

npm install element-react -S
npm install element-theme-default -S

使用:

import React from 'react';
import ReactDOM from 'react-dom';
import { Button } from 'element-react';

import 'element-theme-default';

ReactDOM.render(<Button type="primary">Hello</Button>, document.getElementById('app'));

(一)內嵌法修改樣式

import { Button } from 'element-react';

function app(){
	render() {
		const style = {
			color: "white",
			marginTop: "10px",
			width: "100px",
			backgroundColor: "cadetblue"
		}
		return(
	            <div>
        		    <Button style={style}>Hello</Button>
      		    </div>
		);
	}
}

(二)提升優先順序修改樣式

匯入樣式檔案,通過className引用樣式,樣式檔案中需要使用!import提高優先順序,否則無效。

import '../style/button.css'
import { Button } from 'element-react';

function App(){
	render() {
		return(
			<div>
                            <Button>和下面的Button效果一樣</Button>
	    		    <Button className="self-button">Hello</Button>
	  		</div>
		);
	}
}

/* button.css */
.el-button {
	color: white!important;
	margin-top: 10px!important;
	width: 100px!important;
	background-Color: cadetblue!important;
}

.self-button {
	color: white!important;
	margin-top: 10px!important;
	width: 100px!important;
	background-Color: cadetblue!important;
}

.self-button:hover {
	color: black!important;
	background-Color: whitesmoke!important;
}